05-GoLang常量

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

内容简介: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
    )

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

查看所有标签

猜你喜欢:

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

IT不再重要

IT不再重要

(美)尼古拉斯·卡尔 / 闫鲜宁 / 中信出版社 / 2008-10 / 29.00元

在这部跨越历史、经济和技术领域的著作中,作者从廉价的电力运营方式对社会变革的深刻影响延伸到互联网对我们生活的这个世界的重构性影响。他批判式的认为,企业想应用网络或应用程序,不再需要自建资料中心、自组IT团队维护和管理系统,因为互联网就像自来水或电力一样,可由专门公司提供服务,你可以付费使用。而如果他的设想真的会实现,我们的世界将会变成什么样子?IT产业的命运又将如何?这又对企业的IT领域投资产生什......一起来看看 《IT不再重要》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具