🔥Go 命名规范|写出大厂标准的优雅代码!

2026-05-17 84 0

本篇基于 Go 1.25.1 版本,一次性讲透包、变量、函数、常量的官方命名规则,新手直接抄作业,代码秒变专业✅


一、Go 命名核心总规则(背会这3条)

  1. 1. 驼峰命名(CamelCase):不用下划线!
  2. 2. 大小写决定权限
    • 大写开头 = 公开(导出),包外可访问
    • 小写开头 = 私有,包内仅自己用
  3. 3. 望文知意:简洁、清晰、不拼音

二、全场景命名规范表(直接收藏)

命名对象规范示例(正确)示例(错误)
包名(package)小写、单数、简短user utils configUserUtils user_utils
变量名驼峰、小驼峰userName userAgeuser_name UserName
函数名公开大写、私有小写GetUser() getAge()getuser() Get_User
常量名驼峰(非全大写下划线)StatusOK MaxCountMAX_COUNT STATUS_OK
结构体驼峰UserInfo OrderDatauser_info User_info
接口驼峰,常以 er 结尾Reader ExecutorIReader ReadInterface

三、分场景详解 + 代码示例

1. 包名(package)

  • • 全小写、单数、无下划线、简短
// 正确
package user
package utils

// 错误
package UserUtils
package user_utils

2. 变量名(var)

  • • 小驼峰(小写开头
  • • 越短越通用,越长越精准
// 正确
var userName string
var userAge int
var httpClient *http.Client

// 错误
var UserName string
var user_name string

3. 函数名(func)

  • • 公开:大写开头
  • • 私有:小写开头
// 公开:包外可调用
func GetUserInfo() {}

// 私有:仅包内调用
func getUserAge() {}

4. 常量名(const)

  • • 驼峰命名!不是全大写+下划线
// 正确
const MaxCount = 100
const StatusOK = 200

// 错误(别学Java!)
const MAX_COUNT = 100

5. 结构体 & 字段

// 公开结构体
type User struct {
    Name string // 公开字段
    age  int    // 私有字段
}

四、完整规范 Demo(本地直接跑通)

main.go 全覆盖规范,零语法错误👇

// Package main 程序入口包(包名规范:小写、单数)
package main

import "fmt"

// MaxCount 公开常量(大写驼峰)
const MaxCount = 100

// UserInfo 用户信息结构体(公开、驼峰)
type UserInfo struct {
    UserName string // 公开字段:大驼峰
    userAge  int    // 私有字段:小驼峰
}

// GetUserInfo 公开函数:获取用户信息(大写开头)
func GetUserInfo() UserInfo {
    // 局部变量:小驼峰
    currentUser := UserInfo{
        UserName: "Go学习者",
        userAge:  20,
    }
    return currentUser
}

// printInfo 私有函数:打印信息(小写开头)
func printInfo(u UserInfo) {
    fmt.Printf("用户名:%s\n", u.UserName)
    fmt.Printf("最大限制:%d\n", MaxCount)
}

func main() {
    user := GetUserInfo()
    printInfo(user)
}

运行命令

go run main.go

运行结果

用户名:Go学习者
最大限制:100

五、Go 专属命名惯例(必懂)

  1. 1. 缩写全大写
    HTTP URL ID API

    userID  ✅  不是 userId
    httpURL ✅ 不是 HttpUrl
  2. 2. 接口名常用 er 结尾
    Reader Writer Executor
  3. 3. 不使用下划线
    除非是特殊变量(如 _ 忽略值)

六、避坑指南(新手必看)

  1. 1. ❌ 别用下划线user_nameuserName
  2. 2. ❌ 别用全大写常量MAX_SIZEMaxSize
  3. 3. ❌ 别用拼音XueShengStudent
  4. 4. ✅ 大小写决定权限:公开必须大写!

📌 总结

  1. 1. 核心规则:驼峰命名 + 大小写控权限
  2. 2. 包名:小写、单数
  3. 3. 变量/私有:小驼峰
  4. 4. 公开/函数/结构体:大驼峰
  5. 5. 常量:驼峰,非全大写下划线

一篇搞定 Go 命名规范,写出大厂级优雅代码✨

 

相关文章

🚨 Go 变量遮蔽|新手最容易踩的隐形坑!一篇避坑
🌍 Go 变量作用域全解|全局·局部·块作用域一次吃透
🔍 Go 空白标识符 _ 全攻略|忽略值·导包神器用法大全
🚀 Go main 函数详解|程序入口核心玩法全掌握
🚀 Go init 函数详解|程序初始化的秘密入口
🔑 Go 可见性规则|大小写决定一切!新手必懂

发布评论