四、Go常量与枚举

作者: 温新

分类: 【Go基础】

阅读: 2018

时间: 2020-04-12 13:12:22

本文知识点

常量

枚举

iota

1、常量

相对于变量而言,常量是一个永远不改变的值,常量一旦定义就不能够修改。

常量的数据类型只是是布尔、数字(整型、浮点型、复数)、字符串。

2、常量定义格式

const 常量名 [类型] = 值

3、Go预定义常量有:true、false、iota

4、定义常量

// 方式一 带有类型的常量
const PI float64 = 3.1415926

// 方式二 无类型的常量
const AGE = 19

// 方式三 批量定义常量 
const (
    NAME = "王美丽"
    PHONE = 13899999999
)

指定值与不指定值

const (
    a = 100     //100
    b           //100
    c           //100
    d = 200     //200
    f           //200
)

定义多个常量时,若后面的值被省略,则值与上一个常量值相同

5、iota常量技术器

1)iota是go语言中常量计数器,只能在常量表达式中使用;

2)iota在const关键字出现时被重置为0,且在其后新增常量时值累加1

情况一

const (
    c1 = iota   //0
    c2          //1
    c3          //2
)

情况二 _ 跳过某些值

// _ 跳过某些值 
const (
    c4 = iota   //0
    c5          //1
    _   // 值2跳过
    c7          //3
)

情况三 指定iota

// 指定iota
const (
    c8 = iota   //0
    c9          //1
    c10 = iota  //2
    c11         //3
)
const (
    c12=iota    //0
    c13=100     //100
    c14=iota    //2
    c15         //3
)

6、完整代码

package main

import "fmt"

func main()  {
    // 方式一 带有类型的常量
    const PI float64 = 3.1415926
    // 方式二 无类型的常量
    const AGE = 19
    // 方式三 批量定义常量 
    const (
        NAME = "王美丽"
        PHONE = 13899999999
    )
    //  定义多个常量时,若后面的值被省略,则值与上一个常量值相同
    const (
        a = 100     //100
        b           //100
        c           //100
        d = 200     //200
        f           //200
    )

    // iota
    // iota是go语言中常量计数器,只能在常量表达式中使用;
    // iota在const关键字出现时被重置为0,且在其后新增常量时值累加1
    const (
        c1 = iota   //0
        c2          //1
        c3          //2
    )

    // _ 跳过某些值 
    const (
        c4 = iota   //0
        c5          //1
        _   // 值2跳过
        c7          //3
    )

    // 指定iota
    const (
        c8 = iota   //0
        c9          //1
        c10 = iota  //2
        c11         //3
    )
    const (
        c12=iota    //0
        c13=100     //100
        c14=iota    //2
        c15         //3
    )


    fmt.Println(PI,AGE,NAME,PHONE);
    fmt.Println(a,b,c,d,f)
    fmt.Println(c1,c2,c3)
    fmt.Println(c4,c5,c7)
    fmt.Println(c8,c9,c10,c11)
    fmt.Println(c12,c13,c14,c15)
}

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

夕阳何处寻

2020年04月14日

请登录后再评论