美文网首页
05-GoLang常量

05-GoLang常量

作者: 箩篼 | 来源:发表于2018-10-08 09:00 被阅读0次

常量

1.在C语言中可以通过const来定义常量
2.在Go语言中一样
3.格式: const 变量名称 数据类型 = 值;

注意点

  • 数据类型可以省略, 但是const不能省略
  • 定义常量不能使用 := , := 是专门用于定义局部变量的
  • 定义局部变量没有使用, 编译会报错, 定义全局变量和常量没有使用, 不会报错
  • 在Go语言中可以连续定义多个变量, 所以也可以连续定义多个常量
    格式:
    const 变量名称1, 变量名称2 数据类型 = 值1, 值2;
    const(
    变量名称1 数据类型 = 值1
    变量名称2 数据类型 = 值2
    )
    定义单个常量
    const num int  =  666   //方式一
    //const num  =  666     //方式二
    //const num := 666   报错,:=只能用于定义局部变量
    fmt.Printf("%d\n", num)

定义多个常量

    const a, b, c int  = 10, 20, 30  //方式一
    //const a, b, c  = 10, 20, 30    //方式二
    //常量不是变量,只能定义的同时初始化,之后不能赋值,后面三行代码会报错
    //a = 666
    //b = 777
    //c = 888

常量组

//方式一
const(
        a int = 10
        b int = 20
        c int = 30
    )
//方式二
//const(
    //  a  = 10
    //  b  = 20
    //  c  = 30
    //)
    //下三行会报错
    //a = 666
    //b = 777
    //c = 888

常量组的注意点

  • 和变量不同,定义的常量没有被使用,编译器不会报错, 可以编译运行
  • 在常量组中, 如果常量没有赋值, 那么默认值就是上一行的取值,注意,是一行!
const(
        a  = 666   //666
        b = 789    //789
        c          //789
    )
    fmt.Printf("%d, %d, %d", a, b, c)   
const(
        a, b = 10, 20
        c, d          //c,d对应a,b的值
    )
    fmt.Printf("%d, %d\n", a, b)  //10,20
    fmt.Printf("%d, %d\n", c, d)  //10,20

枚举常量

C语言中的枚举

  • C语言中的枚举本质就是一个整数
  • 格式:
    enum 枚举名 {
    枚举元素1 = 值,
    枚举元素2 = 值,
    ……
    };
    Go语言中的枚举
  • Go语句中没有明确枚举的固定写法, 但是在企业开发中一般都会常量组的形式来表示枚举
  • 格式:
    const(
    枚举元素 = 值
    枚举元素 = 值
    )
const(
        male = 0
        female = 1
    )
  • 迭代器iota
//iota是迭代器, 默认会从0开始递增
const(
        male = iota
        female = iota
        yao = iota
    )
  • 只要常量组中出现了iota, 该常量组中后续的常量都会一次递增1
const(
        male = iota    //0
        female         //1
        yao            //2
    )
  • 如果常量组中的iota被打断了, 那么就不会继续递增了, 会按照常量组的默认方式处理(上一行的值)
const(
        male = iota        //0
        female = 666       //666
        yao                //666
    )
  • 如果常量组中的itoa被打断了, 但是后续又被回复了, 那么前面有多少行就会递增多少
const(
        male = iota   //0
        female = 666  //666
        yao = iota    //2
    )

相关文章

  • 05-GoLang常量

    常量 1.在C语言中可以通过const来定义常量2.在Go语言中一样3.格式: const 变量名称 数据类型 =...

  • Java(常量的使用与概述)

    常量分类:a>字面值常量 b>自定义常量 A>字面值常量·字符串常量·整数 常量·小数常量·字符常量·布尔常量 ...

  • iOS开发之C语言实用概述

    一、常量和变量:常量的定义:const int a = 10; 常量:整型常量实型常量字符型常量字符串常量 变量:...

  • Java基础语法之常量

    1.Java中常量分类 字面值常量 自定义常量 2.字面值常量的分类 字符串常量 整数常量 小数常量 字符常量 布...

  • java基础

    1. 常量 字符串常量 整数常量 小数常量 字符常量:单个数字,单个字母,单个符号 布尔常量 空常量 2. ...

  • 常量

    -静态常量-成员常量-局部常量

  • Java常量和C#常量

    常量是固定值,程序执行期间不会改变。常量可以是整数常量、浮点常量、字符常量或者字符串常量,还有枚举常量。 1. 定...

  • Swift初识-常量、变量

    1、定义一个常量、变量 常量 格式:let 常量名:常量类型 = 常量值 let name:String = "张...

  • 常量与变量

    常量 定义:程序中固定不变化的值 常量分类 字面值常量 整数常量 1,2,3 小数常量3.14 布尔常量false...

  • JavaScript-3变量、常量、关键字

    JavaScript的常量 什么是常量常量:表示一些固定不变的数据。 JavaScript常量分类2.1 整形常量...

网友评论

      本文标题:05-GoLang常量

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