1 标识符、标识符控制权限
[TOC]
标识符
自定义标识符
自定义的变量名、常量名、函数名等。
自定义标识符不能包括关键字,为避免产生歧义和影响代码可读性也不该使用语言预留标识符。
标准标识符使用字母开头,区分大小写。使用下划线或Unicode字符中文等文字开头是合法的但是一般不会这么定义。后面可以使用字母、数字、下划线和Unicode字符。
自定义标识符采用驼峰原则。
aBcDe
合法
标准的,符合驼峰原则
Abc
合法
abc
合法
_abc
合法
ab2
合法
中文
合法
a中文
合法
int
合法
数据类型标识符,不推荐
1abc
不合法
不能以数字开头
+ab
不合法
不能以+开头
package
不合法
关键字
关键字
25个不能作为标识符的关键字。
package
定义包名
import
导入包
const
常量声明
var
变量声明
func
函数定义
defer
延迟执行
go
开启协程
return
函数、方法返回
struct
定义结构体
interface
定义接口
map
声明或创建map
chan
声明或创建通道
if else
判断语句
for range break continue
循环语句
switch select type case default fallthrough
switch和select
goto
goto语句
内置数据类型标识符
20个,不推荐作为标识符。
byte int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 uintprt
12个整形
float32 float64
2个浮点型
complex64 complex128
2个复数型
string rune
字符和字符串
error
接口
bool
布尔
内置函数标识符
15个内置函数标识符。
内置函数是高级语言的一种语法糖,小写字母开头依然全局可用不需要import。
make
分配空间、初始化 slice、map、chan。
new
分配任意类型空间,返回指针。
len
计算数组、数组指针、slice、map、chan、string等数据类型的长度,struct、整型等不能作为len函数参数。
cap
数组、切片、chan分配的空间大小。
append
追加slice,自动扩容。
copy
只用于slice拷贝
delete
delete(map,key) 删除map键值对
panic
触发异常
recover
捕获异常
close
关闭chan
complex
复数处理
real
复数处理
image
复数处理
打印函数
printin
打印函数
常量值标识符
4个常量值标识符
true false
bool类型的两个常量值
iota
连续枚举类型声明
nil
指针、引用类型的默认值
空白标识符 _
1个空白标识符 _ 。
空白标识符用于声明一个匿名的变量,或称占位符,忽略多返回值函数的一个返回值。
如 file,_ := os.Open(filePath) 忽略Open第二个返回值error。
标识符控制权限
标识符控制权限
golang通过标识符首字母大小写控制权限,标识符首字母大写为公开,首字母小写或是下划线、中文等其它Unicode字符都是私有。
golang通过包管理程序代码,私有的变量、函数、方法别的包无法访问。
字面常量
代码中固定值的符号称为字面常量。如果没有显式指定字面常量类型,Go编译器会结合字面常量的值自动进行类型推断。
Last updated