3.数据类型
基本类型
布尔类型bool,取值只有true,false
数值类型
整数型:有符号,无符号
int8/uint8 8bit,1byte [-128,127]/[0,255]
int16/uint16 16bit,2byte
int32/uint32 32bit,4byte
int64/uint64 64bit,8byte
byte,同uint8
rune,同int32
int,uint-->操作系统 如果电脑书64位的,就是int64,32位的就是int32
浮点型
float32 32bit,4字节
float54 64bit,8字节
accii编码:
A-->65
a-->97
package main
import "fmt"
func main() {
/*
数据类型:基本数据类型,复合数据类型
基本数据类型:
1.布尔类型:bool,表示真和假
取值范围:true,false
2.数值型:整数,浮点,复数
整数:
有符号/无符号,位数,取值范围
int8/uint8, 8位 [-128,127]/[0,255]
int16/uint16, 16位 [-32768,32767]/[0,65535]
int32/uint32, 32位 (-2147483648 到 2147483647)/ (0 到 4294967295)
int64/uint64, 64位 (-9223372036854775808 到 9223372036854775807)/ (0 到 18446744073709551615)
byte,同uint8
rune,同int32
int/uint,同操作系统相关
浮点型:
float32/float64, 32/64
字符串:一个字符序列。
字符个数可以0个,1个,多个。"", "a", "abc"
"", ``
*/
//1. 布尔类型
var b1 bool = false
b2 := true
fmt.Println("b1的值:", b1)
fmt.Println("b2的值:", b2)
fmt.Printf("b2的数值是:%t,类型是:%T\n", b2, b2)
// 2.整数类型
var num1 int8 = 100
fmt.Printf("num1的数值:%d,类型是:%T\n", num1, num1)
var num2 uint8 = 200
fmt.Printf("num2的数值:%d,类型是:%T\n", num2, num2)
var num3 = 400
fmt.Printf("num3的数值是:%d,类型是:%T\n", num3, num3)
num4 := 'A' // int32
fmt.Println(num4)
//%v,原型,
//%q,数值对应的utf8编码的字符
fmt.Printf("num4的数值:%d,%v,%q,%T\n", num4,num4,num4,num4)
// 3.浮点类型:
var num5 float32 = 3.14
var num6 float64 = 8.99
fmt.Printf("num5的数值是:%f,类型是:%T,num6的数值是:%f,类型:%T\n", num5,num5,num6,num6)
//4. 字符串
var s1 string = "memeda"
s2 := `helloworld`
s3 := 'a' // int32
s4 := "a" // string
s5 := "ab" // string
fmt.Println(s1, s2, s3, s4,s5)
fmt.Printf("字符串:%s,类型:%T\n", s2, s2)
}
常用的占位符
%d代表整数
%f代表小数
%s代表字符串
%v匹配任意数据类型
%T代表表示当前数据类型
%q代表显示对应的accii码的值