Go语言关键字和标识符

Posted 极客江南

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言关键字和标识符相关的知识,希望对你有一定的参考价值。

关键字

  • Go语言中的关键字和C语言中的关键字的含义样, 是指被Go语言赋予特殊含义的单词
  • Go语言中关键字的特征和C语言也一样
    • 全部都是小写
    • 在开发工具中会显示特殊颜色
  • Go语言中关键字的注意点和C语言也一样
    • 因为关键字在C语言中有特殊的含义, 所以不能用作变量名、函数名等

C语言关键字和Go语言关键字对比

  • C语言中一共有32个关键字
12345678
ifelseswitchcasedefaultbreakreturngoto
dowhileforcontinuetypedefstructenumunion
charshortintlongfloatdoublevoidsizeof
signedunsignedconstautoregisterstaticexternvolatile
  • Go语言中一共有25个关键字
12345678
ifelseswitchcasedefaultbreakreturngoto
fallthroughforcontinuetypestructvarconstmap
funcinterfacerangeimportpackagedefergoselect
chan

  • Go语言中除了关键字以外,还有30多个预定义标识符
内建常量
truefalseiotanil
內建类型
intint8int16int32
int64uintuint8uint16
uint32uint64uintptrfloat32
float64complex64complex128bool
byterunestringerror
內建函数
makelencapnew
appendcopydeletereal
imagpanicrecovercomplex

标识符

  • Go语言中的标识符和C语言中的标识符的含义样, 是指程序员在程序中自己起的名字(变量名称、函数名称等)

  • 和C语言一样Go语言标识符也有一套命名规则, Go语言标识符的命名规则几乎和C语言一模一样
    • 只能由字母(a~z、 A~Z)、数字、下划线组成
    • 不能包含除下划线以外的其它特殊字符串
    • 不能以数字开头
    • 不能是Go语言中的关键字
    • 标识符严格区分大小写, test和Test是两个不同的标识符
  • 和C语言标识符命名规则不同的是
    • Go语言中_单独作为标识符出现时, 代表空标识符, 它对应的值会被忽略
      package main
      
      import "fmt"
      
      func main() {
      	// 将常量10保存到名称叫做num的变量中
      	var num int = 10
      	fmt.Println("num = ", num)
      
      	// 忽略常量20,不会分配存储空间,也不会保存常量20
      	//var _ int = 20
      	//fmt.Println("_ = ", _) // cannot use _ as value
      
      	// Go语言中如果定义了变量没有使用, 那么编译会报错(sub declared and not used)
      	// 所以如果我们只使用了sum,没有使用sub会报错
      	// 为了解决这个问题, 我们可以使用_忽略sub的值
      	//var sum, sub int = calculate(20, 10)
      	var sum, _ int = calculate(20, 10)
      	fmt.Println("sum = ", sum)
      
      }
      
      func calculate(a, b int)(int, int)  {
      	var sum int = a + b
      	var sub int = a - b
      	return sum, sub
      }
    
    
    • Go语言默认的编码方式就是UTF-8, 所以Go语言支持中文, 所以可以用中文作为标识符(非常非常非常不推荐)
    package main
    
    import "fmt"
    
    func main() {
        // 不会报错, 可以正常运行
        var 年龄 int = 33
        fmt.Println("年龄 = ", 年龄) // 33
    
        // 不会报错, 可以正常运行
        var 结果 int = 计算器(10, 20)
        fmt.Println("结果 = ", 结果) // 30
    }
    func 计算器(第一个变量, 第二个变量 int)int  {
        return 第一个变量 + 第二个变量
    }
    

  • 和C语言一样,标识符除了有命名规则以外,还有标识符命名规范
    • 规则必须遵守, 规范不一定要遵守, 但是建议遵守
    • Go语言的命名规范和C语言一样, 都是采用驼峰命名, 避免采用_命名
      • 驼峰命名: sendMessage / sayHello
      • _命名: send_message / say_hello

如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是江哥持续更新的动力。

以上是关于Go语言关键字和标识符的主要内容,如果未能解决你的问题,请参考以下文章

GO语言常量和变量

Go语言基础一

1.go语言之常量和变量

Go语言基础之变量和常量

Go语言系列2.2Go语言基本程序结构:关键字与标识符

Go语言基础之变量和常量