Golang命名规范

mick_ · · 3480 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

请使用Goland编辑器使用,设置请看goland设置篇

package名字

保持package的名字和目录保持一致,尽量采取有意义的包名,简短,有意义,尽量和标准库不要冲突。

import 规范

// 单包引入
import (
    "fmt"
)
// 多包引入,没包独占一行
import (
    "encoding/json"
    "strings"
    "github.com/go-sql-driver/mysql"
)   

常量声明

// 常量只能由英文字母组成
// 全部大写
const  DIR = "/static/pic"

变量声明

// 变量只能由英文字母组成
// 变量全部使用小驼峰命名,根据是有需要导出决定首字母是否大写
// 多个变量申明使用var括号
var (
    userAge int
    userName  stirng
)

//局部变量声明
// 需要实力化,使用短变量声明
userName :=  "jack"
// 不需要实力化,使用var关键字声明,此种方式一般用于赋值
var  userName  string

函数命名

// 函数名称只能由字母组成
//  函数名称采用小驼峰方式,根据是有需要导出决定首字母是否大写
// 函数的参数名称简短那有意义
// 函数体内的代码行数保持在10-15行之间,不要超过20行,此时必须进行方法内容的抽取,将其抽取成多个方法,减少耦合,提高复用
// 函数返回值超过两个参数,则必须给返回值命名
func  getUserInfo(id int) (userInfo  interface{}, err   error){

}

结构体命名

// 函数名称只能由字母组成
//  函数名称采用小驼峰方式,根据是有需要导出决定首字母是否大写
命名规则基本和上面的结构体类型
// 结构体字段命名同结构体命名一致
// 每个字段独占一行
type UserInfo struct{
    UserName  string
    UserAge     int
}

接口命名

// 函数名称只能由字母组成
//  函数名称采用小驼峰方式,根据是有需要导出决定首字母是否大写
命名规则基本和上面的结构体类型
// 接口名称以 “er” 作为后缀,例如 Reader , Writer 。
type Reader interface {
        Read(p []byte) (n int, err error)
}


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:mick_

查看原文:Golang命名规范

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3480 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传