• go编程规范


    go编程规范

    命名规范

    • 只可以使用字母、下划线、数字
    • 大写字母开头,可以被包外部引用(需要先导入包)
    • 小写字母开头,只可以被包内部调用

    包命名

    尽量保持package的名字和目录一致,采取有意义的包名,包名使用小写,不要使用下划线和大写字母

    package demo
    
    package main
    

    文件命名

    使用小写字母,用下划线分割

    my_test.go
    

    结构体命名

    • 采用驼峰命名法
    • struct 声明和初始化用多行
    //多行声明
    type User struct{
    	Username string
    	Email    string
    }
    //多行初始化
    u := User{
    	Username: "ada"
    	Email:    "dsfgsdfg"
    }
    

    接口命名

    • 命名规范基本和结构体一致
    • 单个函数习惯以"er"为后缀
    type Reader interface{
    	Read(p []byte) (n int ,err error)
    }
    

    变量命名

    • 一般为驼峰命名,遵循以下规则

      • 变量为私有,首字母小写
      • 变量为公有。首字母大写
      • 单词为特有名次,而且是首个单词,则特有名词小写
    • 若变量为布尔类型,则名称一般以"Has"、"Is"、"Can"、"Allow"开头

    常亮命名

    • 全部大写
    • _分割

    注释

    注释符号

    • //
    • /**/

    范围

    • 包注释
    • 接口注释
    • 方法注释
    • 代码逻辑注释

    代码风格

    缩进和括号

    • go语言默认每一行都会加一个;所以前置大括号不能单独一样
    • go可以使用go自带的fmt工具格式化代码
    • 尽量使用Tab,而不是空格

    import规范

    引入多个包时,按照三中类型区分,标准包,程序内部包,第三方包,建议写的时候有顺序的导入你的包。

    错误处理

    • 原则是不能丢弃有返回err的调用,不能用_丢弃,必须全部处理
    • 尽早return
    • 采用独立的错误流处理

    测试

    • 单元测试命名规范example_test.go

    • 测试用例必须以Test开头

  • 相关阅读:
    Java 的类加载顺序
    单链表之一元多项式求和C++实现
    顺序线性表之大整数求和C++实现
    线性表之单链表C++实现
    NOIP 2009 潜伏者
    JDOJ 2782: 和之和
    浅谈前、中、后缀表达式
    CF13B Letter A
    洛谷 P5015 标题统计
    NOIP 2013 转圈游戏
  • 原文地址:https://www.cnblogs.com/tomyyyyy/p/12896347.html
Copyright © 2020-2023  润新知