Go 基础语法
Identifiers 标识符
Go的程序员自己能够命名的内容叫做标识符
例如:变量、常量、函数、结构体、接口......
标识符命名方式
(结尾【*】才Go语言支持)
- 【*】cameCase: 驼峰命名法 - helloWorld/getCurrentTime
- 【*】ParseCase: 帕斯卡命名法 - HelloWorld/GetCurrentTime
- 【*】snake_case: 蛇形命名法 - hello_world/HELLO_WORLD
- 【*】kebab_case【目录命名】: 中横线命名法 - hello-world
- 【x】space case: 空格命名法 - hello world
标识符要素
(除开下划线以外的所用符号都不可以使用)
- 大小写字母
- 数字
- 下划线
命名规则
不能以数字开头 123 X -> asc123
不能带有除下划线以外的符号
不允许有空格命名法
严格区分大小写字母
语义清晰、简洁
关键字(25个)与预定义标识符(36个)不能作为标识符


项目的命名规范
项目名 | 中横线隔开 全部小写字母 |
包名 | 包名与目录名需要保持一致 全部小写字母 不能使用下划线 - 语义简洁 不能用标准库名称 os/fmt |
模块名 | 全部小写字母 单词以下划线隔开 |
常量 | 全部大写字母 用下划线隔开 |
结构体 | 遵循变量的命名规则 |
接口名 | 采用 【 er 】结尾 遵循变量的命名规 |
函数名和普通变量 (严格区分大小写字母) | 任何需要在包外使用的标识符都必须以大写字母开头 (fmt.Println() -> public) 任何不需要在包外使用的标识符都必须以大写字母开头 (user.getName() -> private) |
变量
什么是变量
变量最早是数学工具,当我们在计算中,不确定值什么的都时候用变量进行暂时的替代(抽象)以完成运算,且变量是可变的不确定量,在不同的运算中,变量所表示的最终值不同,所以变量是可变的量
变量在计算机中的概念
表示值的抽象工具,例如 x=1 => 1赋值给x (【=】赋值符号)
存储计算结果的工具,例如 y = x + 1 => 2
内存中表示的方式
标识符 | 内存空间 | 值 |
---|---|---|
x | 0x0001 | 1 |
y | 0x0002 | 2 |
z | 0x0003 | 3 |
0x0001 = 1
0x0002 = 2
0x0003 = 0x0001 + 0x0002x = 1
y = 2
z = x + y
总结:变量方便计算机语言编程时,从内存中取值和向内存中存值的工具
变量的声明格式
关键字 | 变量标识符 | 变量类型 | 赋值符号 | 值 |
---|---|---|---|---|
var | x | int | = | 1 |
变量声明可以不初始化(var x int)
变量初始化可以在变量声明后
变量赋值或者初始化不是使用变量
值必须与变量声明时给出的类型保持一致
!注意事项
变量必须在声明后使用
变量声明后必须使用
同一作用域下不能重复声明一个变量
多个变量可以使用单一声明
多个变量可以批量声明
可以使用类型推断
可以使用短变量(【:=】)语法 (只能使用在函数内部,不能使用函数外部)
短变量可以批量声明赋值
可以使用匿名变量(采用下划线表示)