在 Go 中将 Int 指针设置为 Int 值
在 Go 中将整数值赋给 int 指针时,必须确保指针本身不为零。当尝试取消引用 nil 指针时会出现此错误,导致运行时恐慌。
解决方案在于初始化指针以指向有效的内存位置。这可以使用 new() 内置函数来实现,该函数为 new int 分配内存并返回指向它的指针。下面是一个示例:
var guess *int fmt.Println(reflect.TypeOf(guess)) // Outputs: *int guess = new(int) // Allocates memory for a new int *guess = 12345 // Dereferences the pointer and sets the value to 12345 fmt.Println(guess) // Outputs: 0x10414028 (address of the allocated memory)
此修改可确保指针在访问指向的值之前指向已分配的内存位置。或者,您可以直接将变量的地址赋给指针变量:
value := 12345 guess = &value // Assigns the address of value to guess pointer
这种情况下,指针指向值变量的内存位置,允许您通过指针操作值.
记住,通过指针修改指向的值也会影响它引用的变量的值。相反,直接改变引用变量的值也会改变指向的值。指针和引用变量之间的这种双重关系是指针使用中需要理解的重要概念。
以上是如何在 Go 中安全地将整数值赋给 Int 指针?的详细内容。更多信息请关注PHP中文网其他相关文章!