• 技术文章 >后端开发 >Golang

    go语言需要分号吗

    青灯夜游青灯夜游2022-11-25 18:52:38原创144

    Go语言不需要在语句或者声明的末尾添加分号,除非一行上有多条语句。Go语言默认一行就是一条数据,编译器会主动把特定符号后的换行符转换为分号,因此换行符添加的位置会影响Go代码的正确解析。

    php入门到就业线上直播课:进入学习

    本教程操作环境: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)错误处理

    // 错误写法
    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语言需要分号吗的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:Go go语言 Golang
    上一篇:go语言支持什么函数 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• golang能做什么• golang怎么进行数据类型转换• 详解Win系统下怎么搭建Golang开发环境• go语言有gc吗• 一文浅析Golang中的运算符
    1/1

    PHP中文网