go语言常量以及iota

举报
酷尔。 发表于 2022/04/01 10:01:57 2022/04/01
【摘要】 如何声明一个变量,以及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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。