这篇文章主要介绍了go语言需不需要分号的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇go语言需不需要分号文章都会有所收获,下面我们一起来看看吧。
Go语言不需要在语句或者声明的末尾添加分号,除非一行上有多条语句。Go语言默认一行就是一条数据,编译器会主动把特定符号后的换行符转换为分号,因此换行符添加的位置会影响Go代码的正确解析。
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会强制左大括号不换行,换行会报语法错误),所有的运算符和操作数之间要留空格。
//正确的方式
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 handing
return // or continue, etc.
}
// normal code
(6)测试
单元测试文件命名规范为 example_test.go
测试用例的函数名称都必须以Test
每个重要的函数都要首先编写测试用例,测试用例和正规代码一起提交方便进行回归测试
关于“go语言需不需要分号”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“go语言需不需要分号”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。