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 个:

breakdefaultfuncinterfaceselect
casedefergomapstruct
chanelsegotopackageswitch
constfallthroughifrangetype
continueforimportreturnvar

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

二、标识符

在 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语言中的基础数据类型和内置函数,这些预定义标识符也不可以当做标识符来使用。

appendboolbytecapclosecomplex
complex64complex128uint16copyfalsefloat32
float64imagintint8int16uint32
int32int64iotalenmakenew
nilpanicuint64printprintlnreal
recoverstringtrueuintuint8uintptr

三、运算符的优先级

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

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

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

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值