일부 Golang 명명 규칙을 요약합니다.
本文由golang教程栏目给大家总结介绍Golang的一些命名规范,希望对需要的朋友有所帮助!
很少见人总结一些命名规范,也可能是笔者孤陋寡闻, 作为一个两年的golang 开发者, 我根据很多知名的项目,如 moby
, kubernetess
等总结了一些常见的命名规范。
命名规范可以使得代码更容易与阅读, 更少的出现错误。
如有不同意见欢迎吐槽、讨论。
文件命名规范
由于文件跟包无任何关系, 而又避免windows大小写的问题,所以推荐的明明规范如下:
文件名应一律使用小写, 不同单词之间用下划线分割, 命名应尽可能地见名知意
常量命名规范
常量明明用 camelcase来命名示例如下
const todayNews = "Hello"
// 如果超过了一个常量应该用括号的方法来组织 const ( systemName = "What" sysVal = "dasdsada" )
变量命名规范
与常量命名方式一样,变量也应该使用驼峰的命名方式, 但注意尽量不与包名一致或者以包名开头
var x string x := new(string)
函数命名规范
由于Golang的特殊性(用大小写来控制函数的可见性),除特殊的性能测试与单元测试函数之外, 都应该遵循如下原则
使用驼峰命名
如果包外不需要访问请用小写开头的函数
如果需要暴露出去给包外访问需要使用大写开头的函数名称
一个典型的函数命名方法如下:
// 注释一律使用双斜线, 对象暴露的方法 func (*fileDao) AddFile(file *model.File) bool { result := db.NewRecord(*file) if result { db.Create(file) } return result } // 不需要给包外访问的函数如下 func removeCommaAndQuote(content string) string { re, _ := regexp.Compile("[\\`\\,]+") return strings.TrimSpace(re.ReplaceAllString(content, "")) }
接口命名规范
接口命名也是要遵循驼峰方式命名, 可以用 type alias 来定义大写开头的type 给包外访问
type helloWorld interface { func Hello(); } type SayHello helloWorld
Struct命名规范
与接口命名规范类似
receiver 命名规范
golang 中存在receiver 的概念
receiver 名称应该尽量保持一致, 避免this, super,等其他语言的一些语义关键字如下
type A struct{} func (a *A) methodA() { } func (a *A) methodB() { a.methodA() }
注释规范
注释应一律使用双斜线
其他
格式化, 用tab不是空格, 可以与go fmt 兼容
위 내용은 일부 Golang 명명 규칙을 요약합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Golang을 사용하여 파일을 안전하게 읽고 쓰는 방법은 무엇입니까?

Golang 데이터베이스 연결을 위한 연결 풀을 구성하는 방법은 무엇입니까?

Golang 프레임워크의 오류 처리에 대한 모범 사례는 무엇입니까?
