Go语言指针类型教程
中的指针类型,就是一个存放地址的 。Go 语言指针 存放的是一个地址,这个地址指向的空间存放的才是值。
Go 语言指针不支持指针的移动,这是 Go 语言指针与其他语言指针的区别。
Go语言指针类型详解
定义
var varname1 *type = &varname2
参数
参数 | 描述 |
---|---|
var | 定义变量所使用的关键字。 |
varname1 | 指针类型的变量。 |
type | 指针变量的类型。 |
varname2 | 需要保持地址的变量。 |
说明
*
案例
指针类型
*
package main import ( "fmt" ) func main() { fmt.Println("Hello 嗨客网(www.haicoder.net)") var score int32 = 99 var pScore *int32 = &score fmt.Println("Score = ", score, "PScore =", pScore) }
程序运行后,控制台输出如下:
*
最后,我们打印出 score 的值即为我们设置的初值, 打印 pScore 的值,pScore 的值为变量 score 的地址。
指针类型
*
package main import ( "fmt" ) func main() { fmt.Println("Hello 嗨客网(www.haicoder.net)") var score int32 = 99 var pScore *int32 = &score var scoreVal = *pScore fmt.Println("Score = ", score, "PScore =", pScore, "ScoreVal =", scoreVal) }
程序运行后,控制台输出如下:
*
指针类型
指针可以修改变量的值
package main import ( "fmt" ) func main() { fmt.Println("Hello 嗨客网(www.haicoder.net)") var score int32 = 99 var pScore *int32 = &score *pScore = 199 var scoreVal = *pScore fmt.Println("Score = ", score, "PScore =", pScore, "ScoreVal =", scoreVal, "Score =", score) }
程序运行后,控制台输出如下:
pScorescore
Go语言指针类型总结
Go 语言中的指针类型,就是一个存放地址的类型。Go 语言指针变量存放的是一个地址,这个地址指向的空间存放的才是值。
使用 & 符号可以获取一个变量的地址。使用 * 符号可以获取 Go 语言指针类型的地址所对应的值。Go 语言指针不支持指针的移动,这是 Go 语言指针与其他语言指针的区别。