对指向struct的指针的更改未在调用者中反映

时间:2018-01-31 14:12:27

标签: pointers go struct

我将指向结构的指针传递给另一个名为if (isset($_POST['message_text'])) { $message = $_POST['message_text']; } if (isset($_POST['message_human'])) { $human = $_POST['message_human']; } 的函数并在那里进行更改,但在这种情况下if (!empty($_POST['message_text'])) { $message = $_POST['message_text']; } if (!empty($_POST['message_human'])) { $human = $_POST['message_human']; } 没有反映在调用函数中。

someFunc()

1 个答案:

答案 0 :(得分:0)

我发现这是在@adrian的帮助下工作的。这就是它的工作原理。

func main() {

  slots := &Slots{}
  scanner := bufio.NewScanner(os.Stdin)
  for scanner.Scan() {
    s := scanner.Text()
    sarr := strings.Split(s, " ")
    fmt.Println("scanner", slots)
    someFunc(&slots, sarr[0], sarr[1:]...)
  }
 }
func someFunc(slotsPtr **Slots, cmd string, args ...string) {
  *slotsPtr = NewSlots(5) // return Pointer to slots with 5 and other value initialized

  // and used *slotsPtr in rest of the program
}