【05】Go 编程的约定

murphyzhao · · 58361 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

# Go 编程的约定 > C 语言的时候,无论你按照怎么样的代码风格书写,都是可以正常编译的,但在 Go 编程中就需要注意一些约定。 ## 1 代码风格及代码格式化 GO 不要求你在写代码的刻意美化对齐代码,或者定义一个 80 线(每行不超过 80 个字符),因为 GO 有 gofmt 工具。所有的 GO 代码都经过 gofmt 格式化为统一的风格。 其他的一些约定: - 使用 tab 制表符进行缩进(有点难以理解,因为不同的编辑器 tab 的长度不一定一样) - `{` 不能单独放一行 - 更少的括号使用(使用空格来断定操作符优先级 [想哭]) 示例: ``` x<<8 + y<<16 ``` - 使用 `//` 或 `/* ... */` 进行注释 除了行注释、块注释外,还有 **包注释**。包注释是放在一个包中任意一个 go 文件的 go 语句前的一个注释块。包注释是为了使用 godoc 工具导出包使用说明文档。 - 其它 ## 2 标识符 当标识符(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:Group1,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的 public);标识符如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(像面向对象语言中的 protected )。 - 首字母大写的标识符可以被外部包的代码导入后使用(类似于 C 的全局函数一样); - 首字母小写的标识符只能在整个包的内部使用(类似于 C 的静态函数) 标识符包括常量、变量、类型、函数名、结构字段等等。。。 ## 3 命名规范 - 包命名规范 - 接口命名规范 - 驼峰命名法 ## 其它 GO 规范内容挺多的,详细参考[Effective Go(GO 实效编程)](https://golang.org/doc/effective_go.html)。 --- GO 编程的规范内容比较多,快速浏览了下,也没有看完,还需要通过后续的编程来消化吸收,然后再回过头来学习。 ---

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

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

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