1. golang各类型占空间字节数
package main
import (
"fmt"
"unsafe"
)
var tByte byte
var tRune rune
var tInt32 int32
var tInt int
var tInt64 int64
var tFloat32 float32
var tFloat64 float64
var tComplex64 complex64
var tComplex128 complex128
var tEmptyStruct struct{
}
var tStruct struct{
string }
var tStructInt struct{
int }
var tString string
var tByteSlice []byte
var tStringSlice []string
var tIntMap map[int]struct{
}
var tStringMap map[string]struct{
}
var tIntChan chan int
var tStringChan chan string
var tIntPointer *int
var tStringPointer *string
var tUintptr uintptr
func printTypeSize() {
fmt.Println("byte size:", unsafe.Sizeof(tByte))
fmt.Println("rune size:", unsafe.Sizeof(tRune))
fmt.Println("int32 size:", unsafe.Sizeof(tInt32))
fmt.Println("int size:", unsafe.Sizeof(tInt))
fmt.Println("int64 size:", unsafe.Sizeof(tInt64))
fmt.Println("float32 size:", unsafe.Sizeof(tFloat32))
fmt.Println("float64 size:", unsafe.Sizeof(tFloat64))
fmt.Println("complex64 size:", unsafe.Sizeof(tComplex64))
fmt.Println("complex128 size:", unsafe.Sizeof(tComplex128))
fmt.Println("empty struct size:", unsafe.Sizeof(tEmptyStruct))
fmt.Println("struct string size:", unsafe.Sizeof(tStruct))
fmt.Println("struct int size:", unsafe.Sizeof(tStructInt))
fmt.Println(&#