05-GoLang常量

栏目: Go · 发布时间: 6年前

内容简介:1.在C语言中可以通过const来定义常量2.在Go语言中一样3.格式:

常量

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
    )

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Ajax基础教程

Ajax基础教程

(美)阿斯利森、(美)舒塔、金灵 / 金灵 / 人民邮电出版社 / 2006-02-01 / 35.00元

Ajax技术可以提供高度交互的Web应用,给予用户更丰富的页面浏览体验。本书重点介绍Ajax及相关的工具和技术,主要内容包括XMLHttpRequest对象及其属性和方法、发送请求和处理响应、构建完备的Ajax开发工具、使用JsUnit测试JavaScript、分析JavaScript调试工具和技术,以及Ajax开发模式和框架等。本书中所有例子的代码都可以从Apress网站本书主页的源代码(Sou......一起来看看 《Ajax基础教程》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具