美文网首页
002 Go 语言 变量

002 Go 语言 变量

作者: 时光记忆forever | 来源:发表于2018-06-22 01:04 被阅读9次

使用 var 定义变量

声明一个变量

package main

import (
    "fmt"
)

func main(){
    var x int
    fmt.Println("x: ",x)
}

# 运行结果
x:  0

var x int 声明一个int的变量 x。变量 x 没有被赋值,go会自动用变量类型的零值初始化它。运行结果为 x: 0

声明一个变量并初始化

var name type = initialvalue 是声明一个变量并初始化变量。

package main

import (
    "fmt"
)

func main(){
    
    var y int = 10
    fmt.Println("y: ",y)
}

# 运行结果
y:  10

类型推断

如果一个变量有一个初始值,变量声明中的类型可以省略。

如果使用语法 var name = initialvalue 声明变量,则Go将自动从初始值推断出该变量的类型。

package main

import (
    "fmt"
)

func main(){
    var z = 20
    fmt.Println("z: ",z)

}

# 运行结果
z:  20

声明多个变量

var name1,name2 type = initialvalue1,initialvalue2 是声明多个变量的语法。

package main

import (
    "fmt"
)

func main(){
    var m,n int = 10,20
    fmt.Printf("m: %d, n: %d\n",m,n)
}

# 运行结果
m: 10, n: 20
  • 变量都拥有初始值,可以省略数据类型

    package main
    
    import (
        "fmt"
    )
    
    func main(){
        var mm,nn  = 10,20
        fmt.Printf("mm: %d, nn: %d\n",mm,nn)
    }
    
    #运行结果
    mm: 10, nn: 20
    
  • 声明不同类型的变量

    package main
    
    import (
        "fmt"
    )
    
    func main(){
        var (
            name = "xiaoming"
            age = 18
            height int
        )
    
        fmt.Printf("name: %s, age: %d, height: %d\n",name,age,height)
    }
    
    # 运行结果
    name: xiaoming, age: 18, height: 0
    

短变量声明

在函数中,简洁赋值语句 := 可在类型明确的地方代替 var 声明。

name := initialvalue 是短变量声明的语法

package main

import (
    "fmt"
)

func main(){
    a,b := 100, "hello"
    fmt.Printf("a: %d, b: %s\n",a,b)
}

# 运行结果
a: 100, b: hello

如果我们运行下面的程序:

package main

import "fmt"

func main() {  
    a, b := 20, 30 //a and b declared
    fmt.Println("a is", a, "b is", b)
    a, b := 40, 50 //error, no new variables
}

no new variables on left side of := 这是因为变量a和b已经被声明,并且左侧没有新的变量

接下来运行下面程序:

package main

import (
    "fmt"
)

func main(){
    a,b := 100, "hello"
    b,c := "world", 200
    fmt.Printf("a: %d, b: %s, c: %d\n",a,b,c)
}

# 运行结果
a: 100, b: world, c: 200

这表示如果左侧有新的变量,我们就可以使用 := 声明变量并赋值。

关注公众号


关注公众号

相关文章

  • 002 Go 语言 变量

    使用 var 定义变量 声明一个变量 var x int 声明一个int的变量 x。变量 x 没有被赋值,go会自...

  • golang的helloworld

    go语言初识 go语言的变量

  • 初识Go语言-1

    Go语言学习路径 初识Go语言 Go语言环境搭建与IDE安装 Go语言基础语法 Go语言数据类型 Go语言变量和常...

  • Go语言学习笔记-变量与作用域

    Go 语言变量的声明 Go 语言是静态类型语言,因此变量 (variable) 是有明确类型的,编译器也会检查变量...

  • GO语言基础(六)

    定义变量 Go语言里面定义变量有很多种方式。使用var关键字是Go最基本的定义变量方式,与C语言不同的是Go把变量...

  • Go学习随笔(二)

    GO语言中创建变量 使用 var xxx(变量名称) int(变量类型)来创建 GO语言支持类型自动推断所以可以直...

  • (二)go语言变量&类型&指针

    go语言变量 如下图是变量的使用例子。 go语言类型 bool string (u)int (u)int8 (u)...

  • go语言学习(2)--变量与常量

    任何编程语言都有变量,下面来学一学 go 的变量与其他语言有什么异同 go变量的基本类型 bool,string ...

  • 我们一起学习GO语言 02

    接下来我们进入Go语言的基本语法与使用-变量 Go语言中标准声明变量的格式:var 变量名称 变量类型 例如-01...

  • Go常量变量_002

    Go 常量变量 变量 go语言中变量名由字母、数字、下划线组成,其中首个字符不能为数字。Go 语言中关键字和保留字...

网友评论

      本文标题:002 Go 语言 变量

      本文链接:https://www.haomeiwen.com/subject/eaehyftx.html