在 Go 中将 Int 指针设置为 Int 值
当尝试为指针变量赋值时,确保指针不为零。正如您所经历的,尝试取消引用 nil 指针可能会导致运行时恐慌。
解决方案:
要设置指向的值,指针必须指向有效的值。您可以使用 new() 函数获取指向零值 int 的指针:
guess := new(int) *guess = 12345
这将为 int 变量分配内存并将指针设置为指向该内存。现在您可以通过指针修改指向的值。
简化声明:
您可以使用简短的变量声明来简化声明和初始化:
guess := new(int) *guess = 12345
替代方法:
您也可以分配现有变量到指针的地址:
value := 12345 guess := &value
这会修改指针值,而不是指向的值。不过,在这个简单的例子中,效果是类似的。
指向值的修改:
通过指针改变指向的值也会改变变量的值它指向。相反,修改变量的值会影响指向的值:
var value int guess := &value value = 12345 fmt.Println(*guess) // Prints: 12345
使用指针提供了一种方便的方法来间接修改变量的值。但是,正确初始化指针以避免零指针错误并确保数据完整性非常重要。
以上是如何在 Go 中安全地将整数值分配给整数指针?的详细内容。更多信息请关注PHP中文网其他相关文章!