Golang的标识符命名规则

                            作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.关键字

1>.Go语言有25个关键字

  Go语言的25个关键字如下所示:
    break,default,func,interface,select,case,defer,go,map,struct,chan,else,goto,package,switch,const,fallthrough,if,range,type,continue,for,import,return,var   Go语言的关键字用途解释如下:
    var 和 const:
      用于变量和常量的声明     package 和 import:
      用于包导入     func:
      用于定义函数和方法     return:
      用于从函数返回     defer:
      用于在函数退出之前执行     go:
      用于并行     select:
      用于选择不同类型的通讯     interface:
      用于定义接口     struct:
      用于定义抽象数据类型     break、case、continue、for、fallthrough、else、if、switch、goto、default:
      用于流程控制     chan:
      用于channel通讯     type:
      用于声明自定义类型     map:
      用于声明map类型数据     range:
      用于读取slice、map、channel数据

2>.Go 语言有36个预定义的名字

  在Go中有很多预定义的名字,基本在内建的常量、类型和函数当中,这些内部预定义的名字并不是关键字,它们是可以重新定义的。

  Go语言36个预定义的名字如下所示:
    append,bool,byte,cap,close,complex,complex64,complex128,uintptr,copy,false,true,float32,float64,imag,iota,int,
    uint,int8,uint8,int16,uint16,int32,uint32,int64,uint64,new,len,make,panic,nil,print,println,real,recover,string

二.标识符命名规则

1>.Go语言命名规则

  标识符的命名规则如下:
    ()允许使用字母、数字、下划线
    ()不允许使用Go语言关键字
    ()不允许使用数字开头
    ()区分大小写   满足上面的Go编译器的要求后,生产环境中推荐命名规则:
    ()见名知义
      咱们自定义的变量名称最好是见名知义,增加代码的可读性,如果你定义了一堆变量你同事不知道你写的啥意思,得根据代码调试就有点坑了,别人得在背后diss你的。
    ()驼峰命名法
      小驼峰式命名法(lower camel case):
        第一个单词以小写字母开始,从第二个单词开始首字母大写,例如:myNginxPort
      大驼峰式命名法(upper camel case):
        每一个单字的首字母都采用大写字母,例如:FirstName、LastName
    ()下划线命名法
      每个单次都小写,各单次之间使用下划线进行分割,例如:my_cluster

2>.案例展示 

package main

import (
"fmt"
) func main() { /*
标识符的命名规则如下:
(1)允许使用字母、数字、下划线
  (2)不允许使用Go语言关键字
  (3)不允许使用数字开头
  (4)区分大小写 满足上面的Go编译器的要求后,生产环境中推荐命名规则:
  (1)见名知义
  (2)驼峰命名法
小驼峰式命名法(lower camel case):
     第一个单词以小写字母开始,从第二个单词开始首字母大写,例如:myNginxPort
    大驼峰式命名法(upper camel case):
      每一个单字的首字母都采用大写字母,例如:FirstName、LastName
  (3)下划线命名法
      每个单次都小写,各单次之间使用下划线进行分割,例如:my_cluster
*/ //小驼峰命名
myNginxPort := "node101.yinzhengjie.org.cn:80"
fmt.Println(myNginxPort) //大驼峰命名
FirstName := "yin"
LastName := "zhengjie"
fmt.Println(FirstName)
fmt.Println(LastName) //下划线命名
my_cluster := "yinzhengjie_bigdata"
fmt.Println(my_cluster) }

最新文章

  1. 微信浏览器的HTTP_USER_AGENT
  2. 用exp导数据时遇到oracle 1455的错误
  3. SpringMVC学习--拦截器
  4. 百度推出的echarts,制表折线图柱状图饼图等的超级工具(转)
  5. 为什么数值类型byte取值范围是(-128~127)?
  6. Hyper-V和Virtual PC的不同
  7. HtmlParser
  8. GNU 网络程序
  9. C# 进程间通信(共享内存)
  10. Html5 Canvas笔记(2)-Canvas绘图
  11. 故障公告:docker swarm集群“群龙无首”引发部分站点无法访问
  12. Hello PyQt5
  13. install plugin group_replication ERROR 1126 (HY000)
  14. Dynamics CRM On-Premise V9安装手记
  15. 2000 ASCII码排序
  16. c 中打印格式%g
  17. vue-新建项目-构建-打包-环境切换
  18. JVM综合调优汇总
  19. java并发编程基础-ReentrantLock及LinkedBlockingQueue源码分析
  20. 通过动态包含和Ajax机制抽取Web应用的公共页面

热门文章

  1. SpringMvc 视图解析器常见功能、类型转换、格式化
  2. 在Centos下单机部署kubernetes
  3. sqlserver链接字符串
  4. Java8使用Stream优雅地处理集合
  5. 3676: [Apio2014]回文串 求回文串长度与出现次数的最大值
  6. Django settings源码解析
  7. Linux CentOS7 VMware usermod命令、用户密码管理、mkpasswd命令
  8. Mybatis-问题总结
  9. vue移动端transition兼容
  10. 深度学习Tensorflow框架的安装