go语言常量以及iota
【摘要】 如何声明一个变量,以及iota的使用方法。
介绍一下go语言中常量的使用方法
(一)Go语言中的常量定义
声明一个常量:
const 变量名 [类型]=value 这里类型不是必须的,可以由变量值推断而来
声明多个常量:
const (
多个常量
)
(二)Go语言中的iota使用方法
iota可以认为是一个可以被编译器修改的常量
在const关键字出现时将会被重置为0,否则const每新增一行将会使iota计数一次(也就是增加1)
并且iota声明的常量支持按一定规则步增
(三)上代码
package main
import (
"fmt"
"unsafe"
)
func main() {
// 声明一个常量
const mystr = "Tom"
// 声明多个常量
const a, b = 1, 2
// 枚举生成多个常量
const (
a1 = "abc"
b1 = len(a1)
c1 = unsafe.Sizeof(a1)
)
//a=10
// a = 10试图修改常量,编译不过
fmt.Println("hello", mystr)
fmt.Println("常量值为:", a, b)
// 常量可以使用len(),cap(),unsafe.Sizeof()函数计算表达式的值
fmt.Println(a1, b1, c1)
// 使用iota进行枚举
const (
h1 = iota
h2 = "hello"
h3 = "xiaozhu"
h4 = "你真6"
h5 = "下一句是5"
h6 = iota //此时如果不这么搞的话会使h6的值与h5一样
)
const (
h7 = 3 << iota
h8
h9
h10
)
fmt.Println(h1, h2, h3, h4, h5, h6)
//这里打印0 hello xiaozhu 你真 下一句是5 5
fmt.Println("iota重置")
fmt.Println(h7, h8, h9, h10)
//这里打印3 6 12 24是因为h8910没有赋值初值均为3进行左移运算iota分别是0123代表3进行左移多少位
//h7是3左移0位,h8是3左移1位,h9是3左移2位,h10是3左移3位
}
GO GO GO !
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)