开发者学堂课程【Go语言核心编程 - 基础语法、数组、切片、Map:标识符基本使用】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/625/detail/9540
标识符基本使用
内容介绍:
一、标识符的概念
二、标识符的命名规则
三、标识符的使用案例
一、标识符的概念
“标识”是指标识一个变量、函数或者包等,“符”指符号。
(1)Golang对各种变量、方法或函数等命名时使用的字符序列称为标识符。
(2)凡是自己可以起名字的地方都叫标识符。
如 var num int 指定义一个 int 型变量 num,var name string 指定义一个 string型变量 name,定义一个名字。
二、标识符的命名规则(记忆)
1.8由26个英文字母大小写、0-9、_组成
2.数字不可以开头
var num int √ var 2num int ×
1.Golang严格区分大小写
如:
var num int 与 var Num int,在Golang中,num与Num是两个不同的变量。
代码演示:
package main
import (
"fmt"
)
//演示Golang中认为num与Num是两个不同的变量
func main() {
var num int = 10
var Num int =20
fmt.Printf("num=%v Num=%v,num,Num")
}
编译器中不报错,且最终输出结果为num = 10 Num = 20
2.标识符不能含空格
代码演示:
package main
import (
"fmt"
)
//演示Golang中标识符不能含空格
func main() {
var abc int = 30
}
若写成 var ab c int = 30 ×,即使定义变量为ab c仍错,标识符不能含空格,编译器报错。
3.下划线“_”本身再Go中是一个特殊的标识符,称为空标识符,可以代替任何其他的标识符,但是它对应的值会被忽略(如:忽略某个返回值),所以仅能被用作占位符,不能作为标识符使用。
在string转基本数据类型一课中曾使用过“_”,表示忽略。若将下划线“_”当做标识符使用
代码演示:
package main
import (
"fmt"
)
//演示Golang中_是空标识符,仅用于占位
func main() {
var _ int = 40
fmt.Printf(_)
}
将下划线“_”用作标识符,编译器报错。
4.不能以系统保留关键字作为标识符,比如 break,if等等...
在 Go 中,为了简化代码编译过程中对代码的解析,其定义的保留关键字共25个(后面的课程详解),它们不可以用作标识符,否则会报错。
代码演示:
package main
import (
"fmt"
)
//演示 Golang 中系统保留关键字不能用作标识符
func main() {
var if int = 10
}
将系统保留关键字用作标识符,编译器报错。
三、标识符的使用案例
判断下列标识符是否可以使用:
①hello |
√ |
②hello12 |
√ |
③1hello |
×,标识符不可以数字开头 |
④h-b |
×,标识符仅由26个英文字母大小写、数字0-9和下划线“_”组成,不包括“-” |
⑤x h |
×,标识符不能有空格 |
⑥h_4 |
√ |
⑦_ab |
√ |
⑧int |
√,int不属于保留关键字,属于预留标识符,但其易产生歧义,不要以标识符使用。 |
⑨float32 |
√,float32不属于保留关键字,属于预留标识符,但其易产生歧义,不要以标识符使用。 |
⑩_ |
×,_只能用作占位符 |
⑪Abc |
√ |
代码演示:
package main
import (
"fmt"
)
func main() {
var int int = 90
fmt.Println(int)
}
语法无误,编译器不报错,输出结果为90,但实际开发过程中不使用这种表示方式,易产生歧义。