go语言注释、关键字、标识符以及运算符优先级

一、注释

Go语言的注释主要分成两类,分别是单行注释和多行注释。

1.1、单行注释

单行注释简称行注释,是最常见的注释形式,可以在任何地方使用以//开头的单行注释;

// 单行注释

1.2、多行注释

多行注释简称块注释,以/*开头,并以*/结尾,且不可以嵌套使用,多行注释一般用于包的文档描述或注释成块的代码片段。

/*
这是多行注释
可以跨越多行
*/

1.3、注释使用场景

  • 解释函数和方法的作用和参数含义,提高代码可读性和可维护性。
// Add 函数将两个整数相加,并返回和
func Add(a, b int) int {
    
    
    return a + b
}
  • 标记代码的作者、时间、版本等信息,方便代码管理和维护。
/*
Author: John
Date: 2021-10-01
Version: 1.0
*/
  • 禁用或调试代码段,方便排查bug和测试代码。
// TODO: implement this function
func MyFunction() {
    
    
    // debug info
    fmt.Println("Debug info...")
}

二、关键字

关键字,也称保留字。
Go语言中的关键字一共有 25 个:

break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var

和其它语言一样,关键字不能够作标识符使用。

二、标识符

在 Go 语言中,标识符是指用来标识程序实体(如变量、函数、结构体等)的名称。标识符由若干个字母、下划线_、和数字组成,且第一个字符必须是字母。通俗的讲就是凡可以自己定义的名称都可以叫做标识符。

2.1、标识符命名规则

  • 标识符由字母、数字、下划线(_)组成,不能以数字开头。
  • 标识符区分大小写,例如Foo和foo是两个不同的标识符。
  • 不能使用Go语言的关键字作为标识符。
  • 标识符应该具有一定的描述性,可以简洁明了地表达其含义。
  • 使用驼峰命名法,即首字母小写,后面每个单词的首字母大写,例如myName、myAge等。
  • 对于包内私有的变量和函数,可以使用下划线(_)作为前缀,例如_privateFunction、_privateVariable。
  • 标识符不能包含空格
  • 不能和标准库中的包名重复
  • 标识符的命名要尽量采取简短且有意义

2.2、空白标识符

在Go语言中,_(下划线)被称为“空白标识符”,它可以用于占位符或忽略某个值。使用场景如下:

  • 忽略某个变量的值
// 仅获取文件信息,忽略错误
info, _ := os.Stat("example.txt")
  • 忽略import语句中的包
import (
    "fmt"
    _ "net/http/pprof" // 忽略该包
)
  • 忽略函数返回值或参数
// 忽略函数的返回值
_, err := doSomething()

// 忽略函数的参数
func doSomething(_, b int) {
    
    
    // ...

需要注意的是,空白标识符只能被用作占位符或忽略某个值,即任何赋给这个标识符的值都将被抛弃,因此这些值不能在后续的代码中使用,也不可以使用_作为变量对其它变量进行赋值或运算。

2.3、首字母大小写区别

在Go语言中,标识符(变量名、函数名、常量名等)的首字母大小写有着不同的含义和作用。

  • 首字母大写的标识符表示该标识符是导出的(public),可以被其他包访问和使用。
  • 首字母小写的标识符表示该标识符是未导出的(private),只能在当前包中使用。

2.4、预定义标识符

预定义标识符一共有 36 个,主要包含Go语言中的基础数据类型和内置函数,这些预定义标识符也不可以当做标识符来使用。

append bool byte cap close complex
complex64 complex128 uint16 copy false float32
float64 imag int int8 int16 uint32
int32 int64 iota len make new
nil panic uint64 print println real
recover string true uint uint8 uintptr

三、运算符的优先级

运算符是用来在程序运行时执行数学或逻辑运算的,所谓优先级,就是当多个运算符出现在同一个表达式中时,先执行哪个运算符。
下表为运算符优先级详情表,从上到下优先级越来越低

分类 运算符 结合性
后缀运算符 ( )[ ]-> 从左到右
单目运算符 !、*(指针)、&++--+(正号)、-(负号) 从右到左
乘法/除法/取余 *(乘号)、/% 从左到右
加法/减法 +- 从左到右
位移运算符 <<>> 从左到右
关系运算符 <<=>>= 从左到右
相等/不等 ==!= 从左到右
按位与 & 从左到右
按位异或 ^ 从左到右
按位或 | 从左到右
逻辑与 && 从左到右
逻辑或 || 从左到右
赋值运算符 =+=-=*=/=%=>=<<=&=^=|= 从右到左
逗号运算符 , 从左到右

参考文档
1、http://c.biancheng.net/view/5559.html

猜你喜欢

转载自blog.csdn.net/yuelai_217/article/details/130623800