Go语言学习——语法规范

1、 格式化:
Gofmt程序(也可以用 go fmt)会以包为处理对象,自动进行标准风格的对齐,缩进(使用制表符tab),控制结构上,无需使用圆括号。
2、 注释:
1、支持“/* */”的块注释和“//”行注释。godoc 可以自动提取注释生成说明文档,但依赖于注释的类型和风格。
2、 每个包应该包含一个包注释(一般单写在一个包名.go的文件里,类似于java的packge-info.java的作用),只需要出现在包中人以文件中即可。注释无需格外的格式化,godoc会重新格式化。但依赖于上下文,因此要确保清晰易辨。
3、 任何顶级声明前面的注释,都作为该声明的文档注释,每个可被外层调用的(首字母大写)名称,都改拥有注释,注释应以该名称开头(方便文档查找),最好是完整的句子。
3、 命名:
1、包名:以小写单个单词命名,不适用驼峰和下划线,应简单明了,如“fmt”,“bytes”,包名引入应该自其源码目录的基本名称。如:在 src/pkg/encoding/base64 中的包应作为
“encoding/base64” 导入,其包名应为 base64, 而非 encoding_base64 或encodingBase64。
2、名称:首字母大写则是公开的名称,导入包后可以直接引用,小写则为私有。构造函数一般会成为NewXXX,如果是包中唯一类型,则也可以只叫做New
3、getter/setter方法:对于getter可以直接将变量名首字母大写作为获取器,setter和其他语言类似,如:若你有个名为 owner (小写,未导出)的字段,其获取器应当名为 Owner(大写,可导
出)而非 GetOwner。若要提供设置器方法,SetOwner 是个不错的选择。
4、接口名:只包含一个方法的接口应当以该方法的名称加上 - er 后缀来命名,如 Reader、Writer、 Formatter、CloseNotifier 等,需要注意的是,因为包含方法自动继承,所以,请尽量避免和其他接口方法重名,除非具有相同的签名和含义。如:字符串转换方法名可以命名为String
5、驼峰记法命名
4、 分号:go语言会在新行前的标记为语句的末尾的地方,插入分号,因此基本无需我们手动写分号。

5、 声明与赋值:

a) 常量:
Go语言学习——语法规范_第1张图片
b) 变量:
Go语言学习——语法规范_第2张图片

6、 控制结构:if,switch,for,select,无需圆括号,但主体必须始终使用大括号。
1、 if:可以接受赋值,和其他语言无区别。
Go语言学习——语法规范_第3张图片
2、 switch:用法与其他语言基本相同。
Go语言学习——语法规范_第4张图片
3、 for循环:
Go语言学习——语法规范_第5张图片
4、 select:与switch用法类似,主要是用来处理异步文件I/O问题,条件判断必须写入case,case中必须包含i/o操作。
Go语言学习——语法规范_第6张图片
5、 goto,defer关键字逻辑:
Go语言学习——语法规范_第7张图片
7、 函数:函数可以在文件上,也可以定义到具体的结构体,区分是函数名字前是否有定义:
1、 文件内的函数:
Go语言学习——语法规范_第8张图片
2、 类型的函数:就是以type定义的使用的函数
Go语言学习——语法规范_第9张图片
8、 错误处理:
Go语言学习——语法规范_第10张图片

你可能感兴趣的:(go)