go-2020-10-06
1、如果不显式指定字长,而只使用uint的话,在某些编译器上就会被实现为32位,而在另一些编译器上则被实现为64位。
2、虽然byte和uint8等价,但是byte更倾向于指代内存中的一个字节,而非一个小整数。
3、无符号整数类型uintptr长度不定,但是足以容纳一个指针,用于与C程序的交互。
4、浮点数在内存中以阶码形式保存,包括符号位、指数、尾数三个部分,以3.14159为例,存到内存中时,符号位存0(代表正数),指数存1(代表乘以10的1次方),尾数存0.314159(这里一定要注意不是存的0.14159,否则整数部分的3就丢掉了),所以存的最终结果还是0.314159*(10^1)=3.14159。
5、UTF-8:变长编码。
6、字符串变量虽然叫变量,其实是只读的,也就是字符串变量的内容不能被修改,但可以被相加,也可为空(无赋值时字符串默认被设置为空)。
7、字符串可以相加,不是说与数字相加,尽管它有时候长的像数字,例如"123",但是用"123"+456这种做法是错误的,除非先将"123"转为数字,这时可以使用go中的ParseInt()函数将字符串"123"装换成十进制123再与456相加,格式:strconv.ParseInt("123",0,0)+456。
8、声明数组的格式:var arry [4]string,4指代数组长度,后面紧跟的string指代数组元素的数据类型。