Go 指针 - go 训练营

变量是存储值的地方。 x := 1 指针的值是变量的地址,一个指针指示值在内存中所保存的位置。使用指针,可以间接读取或更新变量的值。 p := &x 表达式 &x 获取一个指向整形变量的指针,它的类型是整型指针(*int),如上,可以称 p 指向 x,或者 p 包含 x 的地址。p 指向的变量写做 *p。 *p = 2 表达式 *p 获取变量的值,可以用于更新变量的值。 var p *int 指针类型的零值是 nil。 函数可以返回局部变量的地址,如下: var p = f() func f() int* { v := 1 return &v } 通过调用 f 产生的局部变量 v 即使在调用返回后依然存在,指针 p 依然引用它,每次调用 f 都会返回一个不同的值。 因为指针包含变量地址,所以传递一个指针参数给函数,能够让函数间接更新传递变量的值。 func incr(p * int) int { *p++ return *p } v := 1 incr(&v) fmt.Println(incr(&v))//3
欢迎参加 Go 训练营挑战,这些挑战将帮助你逐步掌握 Go 开发。Go(又称Golang)是 Google 开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。在 2016 年,Go 被软件评价公司 TIOBE 选为“TIOBE 2016年最佳语言”。