go基本命令
- go env 用于打印Go语言的环境信息。
- go run 命令可以编译并运行命令源码文件。
- go get 可以根据要求和实际情况从互联网上下载或更新指定的代码包及其依赖包,并对它们进行编译和安装。
- go build 命令用于编译我们指定的源码文件或代码包以及它们的依赖包。
- go install 用于编译并安装指定的代码包及它们的依赖包。
- go clean 命令会删除掉执行其它命令时产生的一些文件和目录。
- go doc 命令可以打印附于Go语言程序实体上的文档。我们可以通过把程序实体的标识符作为该命令的参数来达到查看其文档的目的。
- go test 命令用于对Go语言编写的程序进行测试。
- go list 命令的作用是列出指定的代码包的信息。
- go fix 会把指定代码包的所有Go语言源码文件中的旧版本代码修正为新版本的代码。
- go vet 是一个用于检查Go语言源码中静态错误的简单工具。
- go tool pprof 命令来交互式的访问概要文件的内容。
golang中关键字
- var和const :变量和常量的声明
- package and import: 导入
- func: 用于定义函数和方法
- return :用于从函数返回
- defer someCode :在函数退出之前执行
- go : 用于并行
- select 用于选择不同类型的通讯
- interface 用于定义接口
- struct用于定义抽象数据类型
- break、case、continue、for、fallthrough、else、if、switch、goto、default 流程控制
- chan用于channel通讯
- type用于声明自定义类型
- map用于声明map类型数据
- range用于读取slice、map、channel数据
命名规范
Go是一门区分大小写的语言。命名规则涉及变量、常量、全局函数、结构、接口、方法等的命名。 Go语言从语法层面进行了以下限定:任何需要对外暴露的名字必须以大写字母开头,不需要对外暴露的则应该以小写字母开头。当命名(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:Analysize,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的 public);命名如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(像面向对象语言中的 private )
-
包名称
-
保持package的名字和目录保持一致,尽量采取有意义的包名,简短,有意义,尽量和标准库不要冲突。包名应该为小写单词,不要使用下划线或者混合大小写。
package domain package main
-
-
文件命名
-
尽量采取有意义的文件名,简短,有意义,应该为小写单词,使用下划线分隔各个单词。
approve_service.go
-
-
结构体命名
-
采用驼峰命名法,首字母根据访问控制大写或者小写
struct申明和初始化格式采用多行,例如下面:type MainConfig struct { Port string `json:"port"` Address string `json:"address"` }
-
-
接口命名命名规则基本和上面的结构体类型单个函数的结构名以 “er” 作为后缀,例如 Reader , Writer 。
-
命名以“er”结尾,如:
Writer,xxxHandler,Helper,Manager等 -
接口方法声明 = 方法名+方法签名如:
methodA (param1, param2)outputTypeListtype Reader interface { Read(p []byte) (n int, err error) }
-
-
变量命名
-
和结构体类似,变量名称一般遵循驼峰法,首字母根据访问控制原则大写或者小写
-
但遇到特有名词时,需要遵循以下规则:如果变量为私有,且特有名词为首个单词,则使用小写
-
如 appService若变量类型为 bool 类型,则名称应以
Has,Is,Can或Allow开头var isExist bool var hasConflict bool var canManage bool var allowGitHook bool
-
常量命名常量均需使用全部大写字母组成,并使用下划线分词
const APP_URL = " https://www.baidu.com "
如果是枚举类型的常量,需要先创建相应类型:
const (
HTTP Scheme = "http"
HTTPS Scheme = "https"
)
本文详细介绍了Go语言的基本命令,如goenv、gorun、goget等,以及变量、常量、包和文件命名规范。同时,讲解了结构体、接口、流程控制等核心概念,并提供了变量、常量和接口命名的实例。此外,还涵盖了Go语言的代码组织和包命名策略。
548

被折叠的 条评论
为什么被折叠?



