整数类型
类型 | 有无符号 | 占用存储空间 | 表数范围 |
---|---|---|---|
int8 | 有 | 1字节 | -27~27-1 |
int16 | 有 | 2字节 | -215~215-1 |
int32 | 有 | 4字节 | -231~231-1 |
int64 | 有 | 8字节 | -263~263-1 |
类型 | 有无符合 | 占用存储空间 | 表数范围 |
---|---|---|---|
int8 | 无 | 1字节 | 0~28-1 |
int16 | 无 | 2字节 | 0~216-1 |
int32 | 无 | 4字节 | 0~232-1 |
int64 | 无 | 8字节 | 0~264-1 |
类型 | 有无符号 | 占用存储空间 | 表数范围 |
---|---|---|---|
int | 有 | 32位系统占4个字节 64位系统占8个字节 | -231~231-1 -263~263-1 |
uint | 无 | 32位系统占4个字节 64位系统占8个字节 | 0~232-1 0~264-1 |
rune | 有 | 与int32一样 | -231~231-1 |
byte | 无 | 有uint8等价 | 0~255 |
demo01
package main
import "fmt"
func main() {
var i int = 1
fmt.Println("i=",i)
//测试一下int8的范围
var j int8 = -128
fmt.Println("j=",j)
}
package main
import "fmt"
func main() {
var i int = 1
fmt.Println("i=",i)
//测试一下int8的范围
var j int8 = -129
fmt.Println("j=",j)
}
demo02
package main
import "fmt"
func main() {
var i int = 1
fmt.Println("i=",i)
//测试一下uint8的范围
var j uint8 = 255
fmt.Println("j=",j)
}
package main
import "fmt"
func main() {
var i int = 1
fmt.Println("i=",i)
//测试一下uint8的范围
var j uint8 = 256
fmt.Println("j=",j)
}
demo03
package main
import "fmt"
func main() {
//int,uint,byte的使用
var a int = 9999
var b uint = 1
var c byte = 255
fmt.Println("a=",a,"b=",b,"c=",c)
}
package main
import "fmt"
func main() {
//int,uint,byte的使用
var a int = 9999
var b uint = 1
var c byte = 256
fmt.Println("a=",a,"b=",b,"c=",c)
}
demo04
package main
import "fmt"
func main() {
//查看变量类型
var a = 9999
var b = 99.99
var c = "tom"
fmt.Println("a=",a,"b=",b,"c=",c)
fmt.Printf("a的类型%T \n",a)
fmt.Printf("b的类型%T \n",b)
fmt.Printf("c的类型%T \n",c)
}
demo05
package main
import (
"fmt"
"unsafe"
)
func main() {
//查看变量类型
var a = 9999
var b = 99.99
var c = "tom"
fmt.Println("a=",a,"b=",b,"c=",c)
fmt.Printf("a的类型%T,a的占用字节数%d\n",a,unsafe.Sizeof(a))
fmt.Printf("b的类型%T,b的占用字节数%d\n",b,unsafe.Sizeof(b))
fmt.Printf("c的类型%T,c的占用字节数%d\n",c,unsafe.Sizeof(c))
}