一架梯子,一头程序猿,仰望星空!
Golang中级特性面试题 > 内容正文

Go语言中什么叫字面量和组合字面量?


问题简答

所有开发语言都有字面量,Go语言中字面量,指的是直接写在代码中的值,例如: s:= "tizi365.com" 这里tizi365.com就是字符串类型的字面量,组合字面量指的是结构体、数组、map类型定义过程初始化数据使用的字面量。

问题详解:

基础类型字面量

GO语言基础数据类型,初始化的时候使用的值都是基础类型字面量。

例:

// 字符串类型字面量
"hello tizi365.com"

// 数值类型字面量
100

// 布尔类型字面量
true

组合字面量

组合字面量指的是结构体、数组、map类型定义过程初始化数据使用的字面量

例子:

type Profile struct {
    Name string
    Age int
    Gender string
}

func main() {
    // 以字面量形式定义和初始化结构体
    xm := Profile{
        Name:   "iswbm",
        Age:    18,
        Gender: "male",
    }

   // 以字面量形式定义和初始化字符串数组
    balls := [4]string{"basketball", "football", "Volleyball", "Tennis"}

    // 以字面量形式定义和初始化map
    m := map[string]int {
        "english": 99,
        "math": 98,
    }
}