计算机很难进行浮点数的精确表示和存储,因此两个浮点数之间不应该使用==或 != 进行比较操作,高精度科学计算应该使用math标准库。
内置的三个复数处理函数:
字符串:
- 字符串是常量,可以通过类似数组的索引访问其字节单元,但是不能修改某个字节的值。
- 字符串转切片[]byte(s)要慎用,尤其当数据量较大时。
- 字符串尾部不包含NULL字符,这一点和C/C++不一样。
- 字符串类型底层实现是一个二元的数据结构,一个是指针指向字节数组的起点,另一个是长度,列如:
type stringStruct struct{
str unsafe.Pointer //指向底层数组的指针
len int //字节数组长度
}
- 基于字符串创建的切片和原字符创建的切片和源字符指向相同的底层字符数组,一样不能修改,切片操作返回的子串是String,不是slice
- 字符串可以转换为字节数组,也可以转换为Unicode的字数组。