go语言变量创建的方法

发布时间:2020-06-19编辑:lianpenglin阅读(1403)

    变量是语言的基础,今天主要来学习一下go语言中声明变量的方法

    第一种,var关键字声明变量,格式为 var <name> <type>

    其中var是关键字,是固定不变的,name是变量的名字,type是类型

    使用var声明的变量,虽然只指定了类型,但是Go会对其进行隐式初始化,比如string类型会初始化为空字符串,int就是0,float为0.0,bool为false,指针类型就是nil

    也可以在声明过程中顺便初始化,如:var name string = "Hello World"

    var 还可以一次性声明多个变量,比如:

    var (

        name string

        age int

        money float32

    )

    第二种,使用:=声明一个变量并初始化

    name := "Hello World" 等价于 var name string = "Hello World"

    这种方式只能用于函数内部

    第三种:new函数声明一个指针变量

    这里要说一下指针的一些内容,变量分为普通变量和指针变量,普通变量存放的是数据本身,而指针变量存放的是数据的地址

    package main
    
    import "fmt"
    
    func main(){
        var a int = 19
        var b = &a //表示取变量a的内存地址
        fmt.Println("a:",a)
        fmt.Println("b:",b)
    }

    输出:

    a:19

    b:0xc000010098

    new函数式Go里的一个内建函数

    使用表达式new(Type)将创建一个type类型都匿名变量,初始化为type类型的零值,然后返回变量地址,返回的指针类型为*type

    package main
    import "fmt"
    func main()  {
    	a:= new(int)
    	fmt.Println("a address: ", a)
    	fmt.Println("a value: ", *a)  // * 后面接指针变量,表示从内存地址中取出值
    }

    输出:

    a address : 0xc000010099

    a value:0




标签golang

如果对你有用打赏一下吧!