golang-指针
package main import "fmt" func main() { var a int =10 var p *int =&a //定义指针变量p,传递a的地址 //指针:指针就是地址,指针变量就是存储地址的变量。 a=100 fmt.Println("a=",a) *p =200 //借助a变量的地址,操作a对应空间 fmt.Println("a=",a) fmt.Println("*p=",*p) fmt.Println("&a=",&a)//&获取地址 0xc42001a0c0 fmt.Println("a=",a) //200 fmt.Println("p=",p) //0xc42001a0c0 fmt.Println("*p=",*p) //200 加×就是获取值,解引用、间接引用 }
package main import ( "fmt" ) func test(m int) { var b int = 1000 b += m } /*func main() { var a int = 10 var p *int = &a a = 100 fmt.Println("a = ", a) test(10) *p = 250 // 借助a 变量的地址,操作a对应空间 fmt.Println("a = ", a) fmt.Println("*p = ", *p) a = 1000 fmt.Println("*p = ", *p) }*/ /*func test() { p := new(int) // 默认类型的 默认值 *p = 1000 } func main() { var a int = 10 fmt.Println("&a", &a) var p *int // 在 heap 上申请一片内存地址空间 fmt.Printf("%d\n", *p) fmt.Printf("%v\n", *p) // 打印Go语言格式的字符串。 }*/ func swap(a, b int) { a, b = b, a fmt.Println("swap a:", a, "b:", b) } func swap2(x, y *int) { *x, *y = *y, *x } func main() { a, b := 10, 20 swap2(&a, &b) // 传地址值。 fmt.Println("swap2: main a:", a, "b:", b) }
网名:浩秦;
邮箱:root#landv.pw;
博客:landv.cnblogs.com;
只要我能控制一個國家的貨幣發行,我不在乎誰制定法律。金錢一旦作響,壞話隨之戛然而止。