[基础语法]-第002节:常量的使用

一、常量的使用


1.1 常量声明

常量是一个简单值的标识符,在程序运行时,不会被修改的量。

const identifier [type] = value
显式类型定义: const b string = "abc"隐式类型定义: const b = "abc"
package mainimport "fmt"func main() {
   const LENGTH int = 10
   const WIDTH int = 5
   var area int
   const a, b, c = 1, false, "str" //多重赋值

   area = LENGTH * WIDTH
   fmt.Printf("面积为 : %d", area)
   println()
   println(a, b, c)   }

运行结果:

面积为 : 501 false str

常量可以作为枚举,常量组

const (
    Unknown = 0
    Female = 1
    Male = 2)

常量组中如不指定类型和初始化值,则与上一行非空常量右值相同

package mainimport (
    "fmt")func main() {
    const (
        x uint16 = 16
        y
        s = "abc"
        z
    )
    fmt.Printf("%T,%v\n", y, y)
    fmt.Printf("%T,%v\n", z, z)}

运行结果:

uint16,16string,abc

常量的注意事项:

  • 常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型

  • 不曾使用的常量,在编译的时候,是不会报错的

  • 显示指定类型的时候,必须确保常量左右值类型一致,需要时可做显示类型转换。这与变量就不一样了,变量是可以是不同的类型值

1.2 iota

iota,特殊常量,可以认为是一个可以被编译器修改的常量

iota 可以被用作枚举值:

const (
    a = iota
    b = iota
    c = iota)

第一个 iota 等于 0,每当 iota 在新的一行被使用时,它的值都会自动加 1;所以 a=0, b=1, c=2 可以简写为如下形式:

const (
    a = iota
    b
    c)

iota 用法

package mainimport "fmt"func main() {
    const (
            a = iota   //0
            b          //1
            c          //2
            d = "ha"   //独立值,iota += 1
            e          //"ha"   iota += 1
            f = 100    //iota +=1
            g          //100  iota +=1
            h = iota   //7,恢复计数
            i          //8
    )
    fmt.Println(a,b,c,d,e,f,g,h,i)}

运行结果:

0 1 2 ha ha 100 100 7 8

如果中断iota自增,则必须显式恢复。且后续自增值按行序递增

自增默认是int类型,可以自行进行显示指定类型

数字常量不会分配存储空间,无须像变量那样通过内存寻址来取值,因此无法获取地址

(0)

相关推荐

  • Go基础及语法(一)

    Go语言文件基础语法 package main //管理定义模块import "fmt" //导入模块/*主函数打印Hello,world!*/func main() {fmt.P ...

  • Golang变量、常量

    变量 在程序运行过程中,其值可以发生改变的量成为变量 变量存在内存中,在程序运行时用来暂时存储数据 常量 在程序运行过程中,其值不可以发生改变的量成为常量 变量的定义和使用 package main​ ...

  • Go map定义的几种方式以及修改技巧

    原文链接:http://www.zhoubotong.site/post/24.html 直入正题,我们看下以下代码: package mainimport ( "encoding/json ...

  • 【Go语言学习笔记一】基础语法

    行分隔行 在 Go 程序中,一行代表一个语句结束.每个语句不需要像 C 家族中的其它语言一样以分号 ; 结尾, 但是可以使用分号:结尾,如果当你将多个语句写在同一行时,则必须使用分号: 一.变量 1. ...

  • [基础语法]-第004节:运算符

    表达式:(a + b) * c a,b,c叫做操作数 +,*,叫做运算符 一.运算符 1.1 算术运算符 + - * / %(求余) ++ -- 1.2 关系运算符 == != > < & ...

  • [基础语法]-第003节:基础数据类型

    一.基本数据类型 以下是go中可用的基本数据类型 1.1 布尔型bool 布尔型的值只可以是常量 true 或者 false.一个简单的例子:var b bool = true 1.2 数值型 1.整 ...

  • [基础语法]-第001节:变量的使用

    一.变量的使用 1.1 什么是变量 变量是为存储特定类型的值而提供给内存位置的名称.在go中声明变量有多种语法. 所以变量的本质就是一小块内存,用于存储数据,在程序运行过程中数值可以改变 1.2 声明 ...

  • JavaScript常量和变量、表达式 —— 基础语法(3)

    JavaScript基础语法(3) 常量和变量 编程实质上就是在对各种各样的数据进行处理. 在对数据进行处理的过程中,需要使用一个容器将数据保存起来,这样就可以实现对容器中的数据进行处理. 根据容器中 ...

  • Excel基础语法

    https://www.cnblogs.com/wzh313/articles/9737573.html 一.VBA介绍 1.宏和VBA的关系 vba是编程语言,宏是用vba代码保存下来的程序.录制的 ...

  • 钢琴零基础教学:一节课教你学会钢琴怎么弹

    钢琴零基础教学:一节课教你学会钢琴怎么弹

  • K线基础课程:第一节(k线的种类)

    TRAVELK线基础课程-第一节:K线的种类 简介 K线又称为日本线.阴阳线.蜡烛线.酒井线等.起源于一位叫本间宗久(1724-1803年)的日本米商.本间宗久出生于现在的日本山形县酒田市,酒田市是1 ...

  • K线基础课程:第二节 (K线力度分析)

    TRAVELK线基础课程-第二节:K线力度分析 一.K线分析法 1. 单根分析法 单根分析法主要是通过单根K线的形态进行分析和判断,具体通过K线颜色.实体大小.影线长短.K线形状以及价格所处的位置.阶 ...

  • 【八下物理】浮力填空题基础汇编每一节2份...

    【八下物理】浮力填空题基础汇编每一节2份...