2021/12/26
1、如何在程序中查看某个变量的占用字节大小和数据类型
var n1 int64 = 10
fmt.Printf(" n1的类型是%T , n2占用的字节数是%d ", n1, unsafe.Sizeof(n1))
2、golang 在保证程序正确运行下,尽量使用占用空间小的数据类型
3、golang 的浮点类型默认声明为 float64 类型
4、golang 没有专门的字符类型 存字符用 byte存储
golang 的字符串是由字节组成的
func main() {
var b1 byte = 'a'
fmt.Println("b1 = ", b1)
}
输出是: b1 = 97
如果希望输出对应的字符,需要使用格式化输出
fmt.Printf("b1 = %c", b1)
func main() {
var b2 byte = '北'
fmt.Println("b2 = ", b2)
} //overflow 溢出
//1、如果我们保存的字符在ASCII表的, 比如0,1,2...A-Z之类的可以直接保存到byte类型中
//2、如果我们保存的字符对应码值大于255,这时我们可以考虑使用int类型保存
//3、如果我们需要按照字符的方式输出,这时我们需要格式化输出.即 fmt.Printf("b1 = %c", b1)
5、在golang中英文字母 1个字节 汉字 3个字节
6、字符的本质是一个整数,直接输出是该字符对应的编码值Unicode码
7、bool类型占用存储空间是1个字节。bool只能取true和false。不能取0或者非0
8、字符串一旦赋值,字符串就不能再修改了
/**************/
demo golang:
var addres string = "北京长城 110 hello world!"
addres[0] = 'w' //error
fmt.Println("addres = ", addres)
/**************/
但是C++可以!
9、如果要把字符串完全输出(按字符串原生形式输出,不会转义),用反引号 ` `
var addres string = `北京长城 110 hello world!\n`
fmt.Println(addres)
输出是:"北京长城 110 hello world!\n"