本教程操作环境:windows7系统、GO 1.18版本、Dell G3电脑。
Go语言不需要在语句或者声明的末尾添加分号,除非一行上有多条语句。实际上,编译器会主动把特定符号后的换行符转换为分号, 因此换行符添加的位置会影响Go代码的正确解析(译注:比如行末是标识符、整数、浮点数、虚数、字符或字符串文字、关键字 break 、 continue 、 fallthrough 或 return 中的一个、运算符和分隔符 ++ 、 -- 、 ) 、 ] 或 } 中的一个)。
举个例子, 函数的左括号 { 必须和 func 函数声明在同一行上,且位于末尾,不能独占一行,而在表达式 x + y 中,可在 + 后换行,不能在 + 前换行(译注:以+结尾的话不会被插入分号分隔符,但是以x结尾的话则会被分号分隔符,从而导致编译错误。
(相关资料图)
Go语言的代码风格
(1)缩进和折行
缩进直接使用gofmt工具格式化即可(gofmt是使用tab缩进的)
折行方面,一行最长不超过120个字符,超过的请使用换行展示,尽量保持格式优雅
我们使用GoLand开发工具,直接使用快捷键:Ctrl+Alt+L即可。
(2)语句的结尾
Go语言中是不需要类似于Java需要分号结尾,默认一行就是一条数据。
如果你打算将多个语句写在同一行,它们则必须使用。
(3)括号和空格
括号和空格方面,也可以直接使用gofmt 工具格式化(go会强制左大括号不换行,换行会报语法错误),所有的运算符和操作数之间要留空格。【相关推荐:Go视频教程】
//正确的方式if a > 0 {}//错误的方式if a>0 // a,>,0之间应该使用空格{ //左大括号不可以换行,会报语法错误}
登录后复制
(4)import规范
import在多行的情况下,goimports会自动帮你格式化,如果你在一个文件里面引入了一个package,建议采用如下格式:
import {"fmt"}
登录后复制
如果你的包引入了三种类型的包,标准库包,程序内部包,第三方包,建议采用如下方式进行组织你的包
inport{"encoding/json""strings""myproject/models""myproject/controller""github.com/astaxie/beego"}
登录后复制
有顺序的引入包,不同的类型采用空格分隔,第一种实际准库,第二是项目包,第三是第三方包
在项目中不要使用相对路径引入包
(5)错误处理
错误处理的原则就是不能丢弃任何有返回err的调用,不要使用_丢弃,必须全部处理。接收到错误,要么返回err,或者使用log记录下来
尽早return:一旦有错误发生,马上返回
尽量不使用panic,除非你知道你在做什么
错误描述如果是英文必须为小写,不需要标点结尾
采用独立的错误流进行处理
// 错误写法if err != nil {// error handing} else {//normal code}// 正确写法if err != nil {// error handingreturn // or continue, etc.}// normal code
登录后复制
(6)测试
单元测试文件命名规范为 example_test.go
测试用例的函数名称都必须以Test
每个重要的函数都要首先编写测试用例,测试用例和正规代码一起提交方便进行回归测试
更多编程相关知识,请访问:编程视频!!
以上就是go语言需要分号吗的详细内容,更多请关注php中文网其它相关文章!