美文网首页
Go-004 常量

Go-004 常量

作者: 如逆水行舟不进则退 | 来源:发表于2020-02-21 23:32 被阅读0次

1 概述

一旦定义,其值不可更改的量,称之为常量。也是常量标识符和常量值。

常量用于存储简单数据类型:数值,字符串。

2 定义

语法:const c1 string = “GoLang”

语法上,支持批量定义,支持类型推导:

const (
    c1 int = 42
    c2 = 42
    c3 = "golang"
)
fmt.Println(c1,c2,c3)

注意: 批量定义,若 后边的只写常量名,则代表和上一个一致

const (
    c1  = 42
    c2
    c3
)
fmt.Println(c1,c2,c3)  // 42 42 42

3 使用常量的意义

  • 防止被无意的修改。
  • 将特定的数据语义化。

例如错误处理,使用不同的数值,表示不同的错误级别,如下所示:

// 1023 表示全部的错误级别
// 4 表示提示级别。
const (
    errorAll = 1023 
    errorNotice = 4
)
// 设置错误级别 
setErrorLevel(1023)
setErrorLevel(errorAll)

4.iota 常量

4.1 概述

用于定义批量常量时,iota 表示基于行的从 0 开始逐一递增的序列数, 即 行索引
演示:

const (
    c1  = iota
    c2 = iota
    c3 = iota
)
fmt.Println(c1,c2,c3) // 0, 1, 2

注意: 一定基于行的,即使我们没全部使用 iota 进行定义,iota 还是代表行索引。

const (
    c1  = 42
    c2 = 1024
    c3 = iota
)
fmt.Println(c1,c2,c3) // 42, 1024, 2

4.2 一个典型的应用

结合位运算的错误配置,后续讲解位运算时进行更详细的讲解

const (
    errorNotice  = 1 << iota
    errorWarning 
    errorFatal
)
fmt.Println(errorNotice, errorWarning, errorFatal) // 

以上定义使用了如下的技巧:

  • 常量的批量定义
  • 利用了iota行索引值
  • 批量定义中,常量延续前面的常量定义
  • << 位运算符。

对应的展开语法为:

const (
    errorNotice  = 1 << 0  // 001  1
    errorWarning  = 1 << 1  // 010  2
    errorFatal = 1 << 2 // 100 4
)
fmt.Println(errorNotice, errorWarning, errorFatal) // 

相关文章

  • Go-004 常量

    1 概述 一旦定义,其值不可更改的量,称之为常量。也是常量标识符和常量值。 常量用于存储简单数据类型:数值,字符...

  • 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 整形常量...

网友评论

      本文标题:Go-004 常量

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