C语言中,可以使用sizeof()计算变量或类型占用的内存大小.在Go语言中,也提供了类似的功能, 不过只能查看变量占用空间大小.具体使用举例如下. package main import ( "fmt" "unsafe" ) type Man struct { Name string Age int } func main() { m := Man{Name:"John", Age:20} fmt.Println("man size:
func pointer_test() { //空指针,输出为nil var p *int fmt.Printf("p: %v\n", p) //指向局部变量,变量值初始为0 var i int p = &i fmt.Printf("p: %v,%v\n", p, *p) //通过指针修改变量数值 *p = fmt.Printf("p: %v,%v\n", p, *p) //数组的初始化及输出 m := [], , } fmt.Print
什么是指针 指针是存储一个变量的内存地址的变量. 在上图中,变量 b 的值是 156,存储在地址为 0x1040a124 的内存中.变量 a 存储了变量 b 的地址.现在可以说 a 指向b. 指针的声明 一个指针变量指向了一个值的内存地址. 类似于变量和常量,在使用指针前你需要声明指针.指针声明格式如下: var var_name *var-type var-type 为指针类型,var_name 为指针变量名,* 号用于指定变量是作为一个指针.以下是有效的指针声明: var ip *int /