go指针变量

变量分为普通变量和指针变量;普通变量存放的是数据本身,而指针变量存放的是数据的地址。
使用表达式 new(Type) 将创建一个Type类型的匿名变量,初始化为Type类型的零值,然后返回变量地址,返回的指针类型为*Type

package main

import "fmt"

func main()  {
    var age int = 28
    var ptr = &age  // &后面接变量名,表示取出该变量的内存地址
    fmt.Println("age: ", age)
    fmt.Println("ptr: ", ptr)

    //使用new函数声明一个指针变量
    ptr1 := new(int)
    //ptr := new(string)
    //ptr := new(bool)
    fmt.Println("ptr1 address: ", ptr1)
    fmt.Println("ptr1 value: ", *ptr1)  // * 后面接指针变量,表示从内存地址中取出值

    //对比new与传统方式创建变量的区别
    fmt.Println(aaa1,aaa2)
}

// 使用 new
func aaa1() *bool {
    return new(bool)
}

// 使用传统的方式
func aaa2() *int {
    var kkk int
    return &kkk
}

猜你喜欢

转载自blog.csdn.net/abiao555/article/details/112607740