目录
数据类型表示数据在内存中开辟的空间大小的别称。
- func main() {
- var flag = true
- fmt.Print(flag)
-
- var num1 int = 1
- var num2 int32 = 123
- fmt.Printf("%d,%d\n", num1, num2)
-
- //无符号数就是在存储的时候没有符号位
- /*var num3 uint = -11
- fmt.Println(num3) */ //cannot use -11 (untyped int constant) as uint value in variable declaration (overflows)
-
- fmt.Printf("%T,%T\n", num1, num2) //输出变量类型
- println(unsafe.Sizeof(num1)) //查看变量占用字节 8
- println(unsafe.Sizeof(num2)) //查看变量占用字节 4
-
- }
- func main() {
- //十进制整数,使用0-9的数字表示且不以0开头
- var num1 = 123
- fmt.Println(num1)
- //八进制整数,以0开头,0-7的数字表示
- var num2 = 0712
- fmt.Println(num2) //458
- fmt.Printf("%o",num2) //表示以八进制方式输出num2 712
- //十六进制整数,以0X或者是0x开头,0-9|A-F|a-f组成
- num := 0x22ff
- fmt.Printf("%x",num) //十六进制小写输出num
- }
- func main() {
- var f1 = 1.2345678
- fmt.Println(f1)
- fmt.Printf("%.6f\n", f1)
-
- //能否用浮点数来比较是否相等 在这里是可以的 还没有出现误差
- var f2 = 1.2345678
- if f1 == f2 {
- fmt.Println("相等")
- }
- }
- func main() {
-
- /* // byte is an alias for uint8 and is equivalent to uint8 in all ways. It is
- // used, by convention, to distinguish byte values from 8-bit unsigned
- // integer values.
- type byte = uint8
- // rune is an alias for int32 and is equivalent to int32 in all ways. It is
- // used, by convention, to distinguish character values from integer values.
- type rune = int32*/
- var char byte = '1'
- // var c byte = '哎'//err
- fmt.Println(char)
- char1 := '中'
- fmt.Print(char1) //20013
- var char2 rune = '国'
- fmt.Println(char2)
- fmt.Printf("%c\n", char2) //国
- }
双引号,会识别转义字符
var str = "123\nabc" //输出时会换行 fmt.Println(str)反引号,以字符串的原生形式输出,包括换行和特殊字符,可以实现防止攻击、输出源代码等效果
var str2 = `123\nabc` //输出时原样输出,不会转义 fmt.Println(str2)
- var str = "hello " + "world"
- str += "!"
- fmt.Println(str) //hello world!
数据有不同的类型,不同类型数据之间进行混合运算时必然涉及到类型的转换问题。两种不同的类型在计算时, Go 语言要求必须进行类型转换。类型转换用于将一种数据类型的变量转换为另外一种类型的变量。Go 语言类型转换基本格式如下: