三、Go变量声明及其赋值

作者: 温新

分类: 【Go基础】

阅读: 2295

时间: 2020-04-12 10:00:35

1、变量声明

方式一、声明不赋值

// 声明一个未赋值的字符串类型变量name。
var name string
name = "李四"

Ps注意:声明变量一定要使用,不然报错

方式二、声明变量并赋值

var age int = 19

方式三、声明变量但不指定类型,则由数据推导出类型

如 "city"为string,10为int

var city = "北京"

方式四、短声明。作用是简化变量定义,含义是声明变量并赋值,类型由数据推导

phone := 13888888888

s:注意:使用:=声明赋值的变量是不能被定义过的变量

2、批量声明变量

使用var 或 :=可以一次性声明多个变量

方式一 var

var (
    name01 = "王五"
    name02 = "赵六"
)

方式二 :=

name03 , name04 := "王一" , "王二"

3、批量赋值

// 先批量声明,对其进行批量赋值
var (
    name05 string
    name06 string
)
name05 , name06 = "王三" , "王四"

4、匿名变量

匿名变量使用 _ 声明

// 定义一个函数,getWebName,有两个返回值,若只想用webUrl,则可用 _ 实现
 _,webUrl := getWebName()

func getWebName() (webName string, webUrl string) { 
    return "自如初", "https://www.ziruchu.com"
}

5、变量作用域

1)Go语言中的变量是块作用域。块,指的是使用{}定义的代码段

2)定义在块内的是局部变量,定义在块外的是全局变量

6、完整案例

package main

import "fmt"

// 全局变量
var superMan string = "全局变量,超人一样的变量"

func main()  {

    // 一、变量声明

    // 方式一、声明不赋值
    var name string
    name = "李四"

    // 方式二、声明变量并赋值
    var age int = 19

    // 方式三、声明变量但不指定类型,则由数据推导出类型
    // 如 "city"为string,10为int
    var city = "北京" 

    // 方式四、短声明。
    phone := 13888888888

    // 二、批量声明变量
    // 使用var 或 :=可以一次性声明多个变量
    // 方式一 var
    var (
        name01 = "王五"
        name02 = "赵六"
    )
    // 方式二 := 
    name03 , name04 := "王一" , "王二"

    // 三、批量赋值
    var (
        name05 string
        name06 string
    )
    name05 , name06 = "王三" , "王四"

    // 四、匿名变量
     _,webUrl := getWebName()

     // 五、变量作用域
     // 1)Go语言中的变量是块作用域。块,指的是使用{}定义的代码段
     // 2)定义在块内的是局部变量,定义在块外的是全局变量


    fmt.Println(name,age,city,phone)
    fmt.Println(name01,name02,name03,name04,name05,name06)
    fmt.Println(webUrl,superMan)
}


func getWebName() (webName string, webUrl string) { 
    return "自如初", "https://www.ziruchu.com"
}

我是夕阳何处寻,期待和优秀的你一起同行!

夕阳何处寻

2020年04月14日

请登录后再评论