目录
基本介绍
与c的指针类似
用 & 获取变量的地址
用 * 获取自身保存地址中的变量值
使用细节
值类型,都有对应的指针类型,形式为 *数据类型,比如int的对应的指针就是 *int , float32 对应的指针类型就是 *float32 ,依次类推。
值类型和引用类型
值类型
基本数据类型 int系列,float系列 ,bool , string 、数组和结构体struct
变量直接存储值,内存通常在栈中分配
引用类型
指针、slice切片、map、管道chan、interface
变量存储的是地址,这个地址对应的空间才真正存储数据(值),内存通常在堆上分配
当没有任何变量引用这个地址时,该地址对应的数据空间就成为一个垃圾,由GC来回收
标识符
对各种变量、方法、函数等命名时使用的字符序列叫标识符(凡是可以自己起名字的地方都叫标识符)
命名规则
-
由26个英文字母大小写,0-9,_组成
-
数字不可以开头。
-
Golang中严格区分大小写。
-
标识符不能包含空格。
-
下划线"_"本身在Go中是一个特殊的标识符,称为空标识符。可以代表任何其它的标识符,但 是它对应的值会被忽略(比如:忽略某个返回值)。所以仅能被作为占位符使用,不能作为标识符使用
-
不能以系统保留关键字作为标识符(25个),如break,if等
-
如果变量名、函数名、常量名首字母大写,则可以被其他的包访问;如果首字母小写,则只能 在本包中使用(注:可以简单的理解成,首字母大写是公开的,首字母小写是私有的),在golang没有 public,private等关键字。