• [golang]语法基础之变量


    在go语言中,声明一个变量格式如下:

    var varname vartype
    

    varname 表示变量名,vartype表示变量的类型。

    例如,下面的代码中创建了两个变量。

    var i1 int
    var s1 string
    fmt.Printf("%d %q 
    ",i1,s1) // 0 ""
    

    上面的代码中,创建了两个变量i1 和 s1 ,并且还没有初始化。

    在go语言当中,一个变量创建后但是如果没有初始化,那么就会默认的为当前变量类型的零值。例如i1的类型为int,打印出来的结果为int类型的零值0,s1的类型为string,打印出来的结果为string类型的零值""。

    我们可以在变量声明的时候进行初始化,如下:

    var i1 int = 3
    var s1 string = "hello"
    fmt.Println(i1,s1) // 3 hello
    

    上述的代码不仅仅创建了变量,还对变量进行了初始化的设置。

    在go语言当中是支持同时创建多个变量并且同时赋值,如下:

    var i1 , i2 int = 3, 4 
    fmt.Println(i1,i2) // 3 4 
    

    上述变量在创建的初期就同时完成了初始化的设置。

    在go中,允许在声明变量的时候不去设置类型,如下:

    var i1, s1 = 3 , "hello,world"
    fmt.Println(i1,s1) // 3 hello,world
    

    在上面的代码中,在一个var关键字后面同时创建了两个变量i1和s1,并且同时进行了初始化,但是需要注意的是,两个变量的声明并没有设置类型。
    这种写法在go语言中是允许的,go会自动的根据初始化的值来推断变量的类型。

    需要注意的是,如果在创建变量的时候规定了类型,那么不同类型的变量是不能够在一行同时声明的。

    在go语言当中还支持更加简洁的写法,如下:

    i1,s1 := 2,"hello"
    fmt.Println(i1,s1) // 2 hello
    // 如果重新进行赋值,那么就不能使用:= 需要使用 = 
    s1 = "world"
    fmt.Println(s1) // world
    

    在上面的代码中,创建变量使用的是一种更简洁的变量声明方式,省略了var 关键字和类型,这种写法需要在等号前加上一个: 。
    需要注意的是,当给一个已经声明并且已经初始化的变量进行重新赋值时,是不能够再次使用:= ,而应该使用=。

    在go语言当中,如果在函数外部创建变量,必须要通过var 关键字来创建变量。

    var a = 10
    var s = "hello"
    func main() {
        fmt.Println(a,s) // 10 "hello"
    }
    

    在上述代码中,在main函数的外部创建两a和s两个变量,一定要注意,在函数外部创建变量必须加var,否则没有办法进行编译。

    在go语言当中,还允许我们对变量的声明进行统一批次声明,如下:

    var (
        a = 1 
        s = "hello"
    )
    

    上面的这种写法一般用来进行批量的声明变量,这种写法无论是在包内还是函数内都是被允许的。

  • 相关阅读:
    前后端交互, 安装drf, restful接口规范, pycharm断点调试
    django中文设置, axios, CORS, 全局js配置, Vue配置jq + bs
    js原型, Vue项目环境搭建, Vue项目目录结构, Vue项目生命周期, 小组件使用, 全局样式, 路由跳转, 组件的生命周期钩子, 路由传参
    Vue组件
    Vue表单指令, 条件指令, 循环指令, 成员
    question1 赋值运算操作符
    CH15 面向对象程序设计
    CH12 动态内存
    CH11 关联容器
    CH10 泛型算法
  • 原文地址:https://www.cnblogs.com/liujunhang/p/12534389.html
Copyright © 2020-2023  润新知