nil
nilnew()int
var guess *int
guess = new(int)
*guess = 12345
您修改的应用程序:
var guess *int
fmt.Println(guess)
guess = new(int)
*guess = 12345
fmt.Println(guess, *guess)
输出(在Go Playground上尝试):
<nil>
0x10414028 12345
请注意,您可以使用简短的变量声明(例如:
guess := new(int)
*guess = 12345
使指针指向“有用”的另一种方法是将变量的地址分配给指针变量,如下所示:
value := 12345 // will be of type int
guess := &value
但是此解决方案修改了指针值,而不是指针值。尽管在此简单示例中,结果是相同的。
您也可以只分配另一个变量的地址,然后继续更改指向的值:
var value int
guess := &value
*guess = 12345
guessvaluevaluevalueguess
var value int
guess := &value
value = 12345
fmt.Println(*guess) // This will also print 12345
在Go Playground上尝试一下。