go系列三:变量

变量是存储特定类型的值。
Go中有以下几种方式声明变量

声明变量

package main

import "fmt"

func main() {
    var name string
    fmt.Println("my name is ", name)
}

Run in playground
var name string 声明了一个name变量,类型为string。
我们发现我们只是简单的声明了变量,而没有给变量赋值。
当这个时候,Go会使用默认值。
Go 变量的默认值

声明变量并赋值

package main

import "fmt"

func main() {
    var name string = "zhang"
    fmt.Println("my name is ", name)
}

Run in playground

类型推断

如果一个变量有一个初始值,Go将能够使用该初始值自动推断出该变量的类型

package main

import "fmt"

func main() {
    var name = "zhang"
    fmt.Println("my name is ", name)
}

Run in playground

多变量声明

在Go中,我们可以使用Go一次性声明多个变量

相同类型的语法:
var name1, name2 type = value1. value2
package main

import "fmt"

func main() {
    var name, country string = "zhang", "china"
    fmt.Println("my name is ", name, "\nmy country is ", country)
}

Run in playground

如果变量有初始值,则可以删除该类型

package main

import "fmt"

func main() {
    var name, country = "zhang", "china"
    fmt.Println("my name is ", name, "\nmy country is ", country)
}

Run in playground

不同数据类型的语法
var (  
      name = value1
      age = value2
)
package main

import "fmt"

func main() {
    var (
        name = "zhang"
        age  = 18
    )
    fmt.Println("my name is ", name, "\nmy age is ", age)
}

Run in playground

短声明

语法:
name := value

系统自动推断类型

package main

import "fmt"

func main() {
    name := "zhang"
    fmt.Println("my name is ", name)
}

Run in playground

我们也可以使用不同类型的推导

package main

import "fmt"

func main() {
    name, age := "zhang", 18
    fmt.Println("my name is ", name, age)
}

Run in playground

最后我们需要知道GO是强类型语言,所以不能改变其类型

package main

func main() {
    name := "zhang"
    name = 18

}
//./prog.go:5:9: cannot use 18 (untyped int constant) as string value in assignment
//Go build failed.

Run in playground

下一节我们将学习Go中的基本数据类型

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!