package main import "fmt" func main() { /** 1.特点:(最大特点)不能运算,不同于c语言 在go语言中如果对指针进行运算会报错: nvalid operation:p++(non-numeric type *int) 2. 声明指针,*T是指针变量的类型,它指向T类型的值。。 var 指针变量名 *指针类型 var ip * int //指向整型的指针 var fp * float32//指向浮点型的指针 2、 如何使用指针: 定义指针变量; 为指针变量赋值; 访问指针变量中指向地址的值 获取指针的值:在指针类型的变量前加上 *号(前缀)来获取指针所指向的内容。 获取一个指针意味着访问指针指向的变量的值。语法是:*a 特别注意:当 * 后面跟数据类型,代表的是指针指向的数据的类型; 如 * int 代表指向整型的指针 当 * 后面跟的是个变量,则意味着访问指针指向的变量的值。语法是 *a */ i := 124 var ip *int ip = &i fmt.Printf("%T \t %v \n",i , i) //int 124 正确 fmt.Printf("%T \t %v \n", ip , ip)// *int 地址 正确 fmt.Printf("%T \t %v \n", &i , &i)//int 124 答案:*int 0xc042050080 fmt.Printf("%T \t %v \n",&ip ,&ip)//124 124 答案:**int 0xc042070018 //最后注意这种写法 fmt.Printf("%T \t %v \n",*&i ,*&i)//*int 124 正确 &i 其实就是ip fmt.Printf("%T \t %v \n", *(&ip) , *(&ip))//*int 地址 //结论:总而言之: *变量 一定指向值 ,&变量 一定指向地址。 }
go语言编程之指针
最新推荐文章于 2022-04-09 13:58:07 发布