一、标识符的命名规范

1、标识符概念

Golang对各种变量、方法、函数等命名时使用的字符序列称为标识符。简单来说,凡是我们自己可以起名字的地方都叫标识符。

2、命名规则

  • 1、数字、字母、_组成
  • 2、数字不能打头
  • 3、Golang中严格区分大小写。num和Num是两个不同的变量。
  • 4、标识符不能包含空格
  • 5、下划线_在Go中是一个特殊的标识符,称为空标识符。代表忽略,如忽略某个返回值。所以仅能作为占位符使用,不能作为标识符使用。
  • 6、不能以系统保留关键字作为标识符(保留关键字公有25个),如:break,if等
  • 注意:_是空标识符,用于占用

3、标识符命名注意事项

  • 1、包名:尽量使package的名字和目录保持一致,尽量采取有意义的包名,简短有意义,不要和标准库冲突。如:不要把包名命名位标准库fmt
  • 2、变量名、函数名、常量名:采用驼峰法 xxxYyyZzz
  • 3、如果变量名、函数名、常量名首字母大写,表示可以被其他包访问;如果首字母小写,则只能在本包中使用(简单理解为:首字母大写表公开,首字母小写表私有。类似于Java中的public、private,但Golang中没有这两个关键字)

二、系统保留关键字

三、系统的预定义标识符

四、进制

1、分类

  • 对于整数,有四种表示方式:
  • 1、二进制:0,1,满2进1
    在Golang中,不能直接使用二进制表示一个整数,沿用了C的特点。如果想输出二进制,使用%b
  • 2、十进制:0-9,满10进1
  • 3、八进制:0-7,满8进1
    在Golang中,八进制以数字0开头,如:023
  • 4、十六进制:0-9及A-F,满16进1。以0x或0X开头表示。
    A-F不区分大小写

2、进制转化

  • 1、其他进制(二、八、十六进制)转十进制: *2^(位数-1)
  • 2、十进制转其他进制(二、八、十六进制): /2^(位数-1)
  • 3、二进制转八进制、十六进制
  • 4、八进制、十六进制转二进制

五、原码、反码、补码

现代的电子计算机技术都是采用的二进制,也就是说:在计算机内部运行各种运算时,都是以二进制的方式来进行的。更具体来说,是通过补码运算的。

  • 对于有符号的数而言:
  • 1、二进制的最高位是符号位:0代表整数,1代表负数
    1 ===》0000 0001 -1 ===》1000 0001
  • 2、正数的原码、反码、补码都一样
  • 3、负数的反码=它的原码符号位不变,其他位取反
    1 ===》原码[0000 0001] 反码【0000 0000】 补码【0000 0000】
    -1 ===》原码[1000 0001] 反码【1111 1110】 补码【1111 1111】
  • 4、负数的补码=它的反码 + 1
  • 5、0的反码、补码都是0
  • 6、在计算机运算的时候,都是以补码的方式来运算的。
    而且只有加法,没有减法。减法转成加上一个负数:1-1=1+(-1)