go语言需不需要分号


这篇文章主要介绍了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会强制左大括号不换行,换行会报语法错误),所有的运算符和操作数之间要留空格。

//正确的方式
ifa>0{

}
//错误的方式
ifa>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,除非你知道你在做什么错误描述如果是英文必须为小写,不需要标点结尾采用独立的错误流进行处理

//错误写法
iferr!=nil{
	//errorhanding
}else{
	//normalcode
}

//正确写法
iferr!=nil{
	//errorhanding
	return//orcontinue,etc.
}
//normalcode

(6)测试单元测试文件命名规范为 example_test.go测试用例的函数名称都必须以Test每个重要的函数都要首先编写测试用例,测试用例和正规代码一起提交方便进行回归测试关于“go语言需不需要分号”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“go语言需不需要分号”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注百云主机行业资讯频道。

相关推荐: Nebula Graph和SpringBoot环境连接和查询怎么实现

本篇内容主要讲解“NebulaGraph和SpringBoot环境连接和查询怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“NebulaGraph和SpringBoot环境连接和查询怎么实现”吧!Nebula…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/23 22:35
下一篇 02/23 22:35

相关推荐