当前位置: 首页 > news >正文

go语言基础之常量与itoa

 视频学习地址:Go零基础入门_在线视频教程-CSDN程序员研修院

一. 常量

  1. 定义:常量是一个简单值的标识符,在程序运行时,不会被修改的量。
  2. 注意:常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。
  3. 语法:const 常量名[数据类型] = 值
package mainimport "fmt"func main() {const LENGTH = 10const WIDTH = 5  var area intconst a, b, c = 1, false, "str" //多重赋值area = LENGTH * WIDTHfmt.Printf("面积为 : %d", area)println()println(a, b, c)  
}
  1. 用作枚举
const (Unknown = 0Female = 1Male = 2
)// ⼀组常量中,如果某个常量没有初始值,默认和上⼀⾏⼀致
const (val1 = 1val2val3 = 2val4
)
fmt.Println(val1, val2, val3, val4)

二.  iota

  1. 定义: iota,特殊常量,可以认为是一个可以被编译器修改的常量。
  2. iota 在 const关键字出现时将被重置为 0(const 内部的第一行之前),const 中每新增一行常量声明将使 iota 计数一次(iota 可理解为 const 语句块中的行索引)。
  3. iota 可以被用作枚举值:
const (a = iotab = iotac = iota
)
fmt.Println(a, b, c)
  1. 第一个 iota 等于 0,每当 iota 在新的一行被使用时,它的值都会自动加 1;所以 a=0, b=1, c=2 可以简写为如下形式:
const (a = iotabc
)
fmt.Println(a, b, c)
  1. 使用,如果中断iota自增,则必须显式恢复。且后续自增值按行序递增,自增默认是int类型,可以自行进行显示指定类型,数字常量不会分配存储空间,无须像变量那样通过内存寻址来取值,因此无法获取地址
package mainimport "fmt"func main() {const (a = iota   //0b          //1c          //2d = "ha"   //独立值,iota += 1e          //"ha"   iota += 1f = 100    //iota +=1g          //100  iota +=1h = iota   //7,恢复计数i          //8)fmt.Println(a,b,c,d,e,f,g,h,i)
  1. 使用iota能简化定义,在定义枚举时很有用,每次 const 出现时,都会让 iota 初始化为0.
const a = iota // a=0
const (b = iota     //b=0c            //c=1   相当于c=iota
)
http://www.lryc.cn/news/193579.html

相关文章:

  • 民宿酒店订房房态商城小程序的作用是什么
  • acwing算法基础之数据结构--栈和队列
  • 关于导出的Excel文件的本质
  • Rust中FnOnce如何传递给一个约束Fn的回调
  • 【JUC】线程通信与等待唤醒机制
  • C#面对对象(英雄联盟人物管理系统)
  • 2023年中国分布式光纤传感产量、需求量及行业市场规模分析[图]
  • B2R Raven: 2靶机渗透
  • SpringBoot-黑马程序员-学习笔记(六)
  • unity2022版本 实现手机虚拟操作杆
  • 『GitHub Actions』部署静态博客指南
  • WPF Datagrid Header数据绑定,表头复选框实现全选、全否、部分选中,根据条目动态变化
  • Tensorflow2 中对模型进行编译,不同loss函数的选择下输入数据格式需求变化
  • 【python】基础语法(三)--异常、模块、包
  • XGBoost+LR融合
  • leetcode:1929. 数组串联(python3解法)
  • Epoch和episodes的区别
  • 漏洞复现--华测监测预警系统2.2任意文件读取
  • 数据结构 - 6(优先级队列(堆)13000字详解)
  • Js高级技巧—拖放
  • ELF和静态链接:为什么程序无法同时在Linux和Windows下运行?
  • 【爬虫实战】python微博热搜榜Top50
  • 【网络基础】——传输层
  • 删除字符串特定的字符(fF)C语言
  • C++入门(1):命名空间,IO流 输入输出,缺省参数
  • Go 语言面试题(三):并发编程
  • Linux - make命令 和 makefile
  • FPGA复习(功耗)
  • element ui el-table表格复选框,弹框关闭取消打勾选择
  • 数据结构——队列