Golang-指针(pointer)_golang指针赋值,2024年最新真是经典中的经典
在Golang中,指针是一个非常重要的概念。指针存储了另一个变量的内存地址。当你创建一个指针时,它就会指向初始化的变量。你可以通过使用"&"运算符来获取变量的内存地址,并使用"*"运算符来获取指针指向的值。
以下是一些Golang指针的常见用法和示例代码:
- 声明和初始化指针:
var a int = 10
var ptr *int = &a // 声明并初始化指针
- 通过指针修改变量的值:
var a int = 10
var ptr *int = &a
*ptr = 20 // 通过指针修改变量的值
fmt.Println(a) // 输出:20
- 使用new函数初始化指针:
var ptr *int = new(int) // 使用new函数初始化指针
*ptr = 10 // 给指针赋值
fmt.Println(*ptr) // 输出:10
- 指针作为函数参数:
func update(ptr *int) {
*ptr = 50
}
var a int = 10
update(&a) // 将变量a的地址传给函数
fmt.Println(a) // 输出:50
- 指针数组:
var ptrs [5]*int
for i := range ptrs {
ptrs[i] = &i
}
for _, p := range ptrs {
fmt.Println(*p)
}
- 指针作为函数返回值:
func returnsPointer(n int) *int {
return &n
}
p := returnsPointer(10)
fmt.Println(*p) // 输出:10
- 指针与结构体:
type user struct {
name string
age int
}
func (u *user) changeName(newName string) {
u.name = newName
}
u := user{name: "Alice", age: 20}
u.changeName("Bob")
fmt.Println(u.name) // 输出:Bob
以上就是Golang指针的常见用法和示例代码。指针在Golang中非常重要,也非常有用,理解和掌握它对于编写高效的Golang代码非常关键。
评论已关闭