文章目录
- 一、前言
- 二、语法
- Go和Java的语法区别
- 注释
- Go和Java的注释区别
- 三、代码规范
- 四、API包
- 五、总结和后续
一、前言
Go系列文章:
- GO开篇:手握Java走进Golang的世界
- 2 Go开发环境搭建、Hello World程序运行
Go专栏传送链接:https://blog.csdn.net/saintmm/category_12326997.html
二、语法
1> 源文件以.go
结尾
2> 程序的执行入口是main()函数
3> 严格区分大小写
4> 方法由一条条语句构成,每个语句后不需要加分号(GO会在每行后自动加分号)
5> GO编译器是一行行进行编译的,因此一行只能写一条语句(自己加上分号可以多条语句),否则会报错
6> 定义的变量或者import的包如果没有使用到,代码不能编译通过。
7> 标识符(变量名、方法名、等名字)定义规则:
-
三个组成部分:数字,字母,下划线
_
;汉字也是可以用,但是不建议使用;建议用字母 -
不能以数字开头,不能包含空格,不能使用Go中的保留关键字
-
下划线"_"本身在Go中是一个特殊的标识符,称为空标识符。它可以代表任何其它的标识符,但是其他标识符对应的值会被忽略(比如:忽略某个返回值);
- 所以其能被作为占位符使用,不能单独作为标识符使用。
-
命名规则:
-
包名:尽量保持package的名字和目录名一致,不要和标准库有冲突;
-
package main 包:
main包是一个程序的入口包,main函数所在的包建议定义为main包;如果不定义为main包,得不到可执行文件。
-
-
变量名、函数名、常量名 : 采用驼峰法(单词按照大写区分开)命名;
- 利用首字母的大小写做权限控制:
- 如果变量名、函数名、常量名首字母大写,则可以被其他的包访问;
- 如果首字母小写,则只能在本包中使用。
- 利用首字母的大小写做权限控制:
-
8> import导入语句放在包声明语句的下面;
- 导入的包名需要使用双引号包裹起来;
- 注意使用GOPATH 和 GO Modules时import包的方式区别。近期专文介绍。
9> 大括号要成对出现,缺一不可。
Go和Java的语法区别
1> 语句后加分号?
- Java每一条语句后都要加分号,Go可以不加分号
2> import未使用的包?定义未使用的变量?
- Java允许import的包、定义的变量不使用,并且代码仍然可以编译通过,而Go代码不能编译通过。
3> 文件后缀名
- Java源文件以
java
结尾、编译文件是.class结尾,多个.class打成的一个可执行文件是.jar结尾,.jar不能直接在windows和linux上执行,得用java命令在JVM中执行。 - Go源文件以
.go
结尾,有main包main函数的情况下,.go
文件打包成二进制对应操作系统的可执行程序,如:windows上.exe
结尾的可执行程序。
4> 类库文件后缀名
- Java的类库以
.jar
结尾; - Go 非main包没有main函数的程序 会被编译打包打成一个类库,以
.a
结尾;
注释
Go和Java一样也有两种注释类型:行注释、块注释(多行注释):
- 行注释
//
(Goland快捷键:Ctrl+/
再按一次取消注释) - 块注释(多行注释)
/**/
(Goland快捷键:Ctrl + Shift+ /
再按一次取消注释)- 注意:块注释中不可以嵌套块注释。
行注释更通用,块注释主要用于针对包的详细说明或者屏蔽大块的代码。
官方推荐使用行注释 //
。
Go和Java的注释区别
Go中的注释写法和Java中的基本一样。
-
单行注释,两者相同,都是
//
-
块注释(多行注释),区别就在块注释
-
/** Java多行注释 */
-
/* Go的多行注释 */
-
三、代码规范
Go的设计者想要开发者有统一的代码风格,风格不对会报错的哦。
1> 缩进:
- 向后缩进(Tab)、向前取消缩进(Shift + Tab)
- 命令行方式格式化(
gofmt -w hello.go
);如果不加-w
,则格式化只是效果展示,不会写入到源文件;加-w
才会写入到源文件
比如源文件格式化为:
使用命令行格式化后:(1)不写入到源文件:
(2)写入到源文件:
2> 成对编程 {} () “” ‘’
3> 运算符两边 + 空格
4> 中括号{
要和函数名在同一行,否则会编译报错(Missing function body
)
5> 官方推荐使用行注释 //
6> 一行最长不超过80个字符,超过的换行展示,保持格式优雅!
- 非强制要求,不过我们输出长字符串时会发现,go会帮我们每80个字符串自动换行
四、API包
Gol中文网在线标准库文档:https://studygolang.com/pkgdoc
Go官网API文档:https://pkg.go.dev/std
五、总结和后续
这里主要了解一下Go的编程规约和相应的API包地址,后面正式开始coding。