云边日落 云想衣裳花想容,春风拂槛露华浓。 (唐·李白·清平调)
歌曲封面 未知作品
  • 歌曲封面“魔女の宅急便”~ルージュの伝言松任谷由実

渝ICP备2021002886号-1

渝公网安备50022502000591号

网站已运行 3 年 330 天 22 小时 16 分

Powered by Typecho & Sunny

2 online · 40 ms

Title

Go语言的结构组成及编码规范

渣渣明

·

Article
⚠️ 本文最后更新于2021年07月14日,已经过了1038天没有更新,若内容或图片失效,请留言反馈

Go语言的结构组成

 每个程序都有其自身的结构,而结构又深深地影响着程序的效率,程序的结构是功能与效率的承担着。下面通过一个简单的Hello World程序了解Go语言的基本结构


1 package main
2 import "fmt"
3 func main() {
4 / 这是一个简单的程序 /
5 fmt.Println("Hello,World!")
6 }


 第1行 package main定义了包名。必须在源文件中非注释的第1行指明这个文件属于哪个包,如package main。表示一个可独立执行的程序,每个GO应用程序都需要包含一个名为main的包,并且该包包含一个叫main()的函数(该函数时Go可执行程序的执行起点,既不能带参数,也不能定义返回值)。
 第2行 import "fmt",import语句用于导入该程序所依赖的包。由于本示例程序用到了Println()函数,所以需要导入该函数所属的fmt包。实现了格式化IO(输入/输出)。
 第3行 func main()时程序入口。所有Go函数以关键字func开头,每一个可执行程序都必须包含main()函数,通常是程序启动后第一个执行的函数,如果有init()函数则会先执行。
 第4行 /.../是注释,程序执行时,这部分代码将被忽略。
 第5行 fmt.Println("..."),将字符串输出到控制台,并将最后自动增加换行字符\n。使用fmt.Println("...\n")也会得到相同的结果。
 除此之外,还有以下几点需注意。
 ①只有package名称为main的包可以包含main()函数。
 ②一个可执行程序有且仅有一个main包。
 ③通过import关键字来导入其他非main包。
 可以通过import关键字单个导入,也可以同时导入多个。

Go语言的标识符

1.标识符

 标识符就是标识某个实体的一个符号,也就是给实体起的名字,从而将其与其他实体区分开。例如,在日常生活中有许多交通工具;火车、轮船、飞机、货车等。
 当然,在不同的环境下,标识符含义也不同。如嬴政,在现实生活中是历史人物秦始皇,而在游戏中《王者荣耀》中是一个法师英雄。

2.预定义标识符

 预定义标识符是Go语言系统预先定义的标识符,具有见名知义的特点,如函数“输出”(printf)、“新建”(new)、“复制”(copy)等。预定义标识符可以作为用户标识符使用,只是这样会失去系统规定的意愿,使用不当还会使程序出错。下面列举几个预定义标识符。

complexrecoverappenduint8intint64bytecopycap
complex64float32stringuint16int8closemakeimagnew
complex128uintptrprintuint32int16panicbooliotalen
float64printlnfalseuint64int32trueuintrealnil

3.关键字

 Go语言的关键字是系统自带的,是具有特殊含义的标识符。Go语言内置了25个关键字用于开发。

breakdefaultfuncinterfaceselect
casedefergomapstruct
chanelsegotopackageswitch
constfallthroughifrangetype
continueforimportreturnvar

4.自定义标识符

 用户根据需要自定义的标识符,一般用来给变量、类型、函数等程序实体起名字。
 自定义标识符实际上是一个或多个字母、数字、下画线组成的序列,但第一个字符必须是字母或下画线,不能是数字。
 Go语言不允许在自定义标识符中使用@、$、%符号,也不允许使用关键字作为自定义标识符。如果将预定义标识符作为自定义标识符,那么自定义标识符的含义会覆盖预定义标识符,造成程序混乱。Go是一种区分大小写的编程语言。下面列举错误的自定义标识符。

错误的自定义标识符错误原因
1xy以数字开头
caseGo语言的关键字
nil预定义标识符

 需要注意的是,生活中名字可以重复,但在Go语言中,标识符绝对不能重复,要确保每个标识符都代表一个独立的个体。

Go语言的编码规范

1.注释

 注释就是对代码的功能进行解释,方便开发人员理解被注释的代码。Go语言中有以下两种形式。
 ①单行注释:最常见的注释方式,可以在任何位置使用以//开头的单行注释
 ②多行注释:也叫块注释,均以/开头,以/结尾,且不可嵌套使用。一般用于文档描述或注释成块的代码片段。

2.分隔符

 程序中可能会使用到的分隔符:括号()、中括号[]、大括号{}。
 程序中可能会使用到的标点符号:点(.)、逗号(,)、分号(;)、冒号(:)、省略号(…)

3.Go语言的空格

 Go语言中变量的声明必须使用空格隔开,如,var age int.
 语句中适当使用空格能让程序更易阅读、更美观,如,a = x + y;

4.语句的结尾

 在Go程序中,换行代表一个语句结束。Go语言中不需要以分号结尾,这些由编译器自动完成。若打算将多个语句写在同一行,它们须使用分号“;”人为区分;但在实际开发中不鼓励这种做法。

5.可见性规则

 Go语言中,使用大小写来决定标识符(常量、变量、类型、接口、结构或函数)是否可以呗外部包所调用。
 如果标识符以一个大写字母开头,那么对象就可被外部包的代码所使用(使用时程序需要先导入这个包),如面向对象语言中的public。
 如果标识符以一个小写字母开头,则对包外时不可见的,但时它们在整个包的内部时可见并且可用的,如同面向对象语言的private。

现在已有 0 条评论,0 人点赞
Comment
发表
搜 索 消 息 足 迹
你还不曾留言过..
你还不曾留下足迹..
博主