Golang 基础(五)常量

Overview

  • const: 用来定义常量,常量一般用在全局上
  • 常量简写
  • 因式分解
  • iota: 计数器,每一个iota都会重新开始计数
  • 特征
    • iota是const专用,只会在const中出现
      • 1)const遇到iota,会初始化iota为0
      • 2)const中如果上一行没有写任何值,则下一行和上一行的值一致
      • 3)iota每新增一行都递增1

Description

1)常量简写

定义常量

package main

import "fmt"

func main() {
	const name string = "Jeremy"
	fmt.Println(name)
}

常量简写

package main

import "fmt"

func main() {
	const name = "Jeremy"
	fmt.Println(name)
}

 但不支持将const也省略

2)因式分解

package main

import "fmt"

func main() {
	const (
		v1            = 1
		v2            = 5
		name   string = "Jeremy"
		result bool   = false
		age    int    = 18
	)
	fmt.Println(v1, v2, name, result, age)
}

 3)iota

  • 自增

package main

import "fmt"

func main() {
	const (
		n1 = iota
		n2
		n3
		n4
	)
	fmt.Println(n1, n2, n3, n4)
}

 ​iota默认是从0开始

  • 从指定数字开始

package main

import "fmt"

func main() {
	const (
		n1 = iota + 1
		n2
		n3
		n4
	)
	fmt.Println(n1, n2, n3, n4)
}

 给iota可以进行加数字来改变初始值

  • 跳过某个数字

 

package main

import "fmt"

func main() {
	const (
		n1 = iota + 1
		n2
		_
		_
		n3
		n4
	)
	fmt.Println(n1, n2, n3, n4)
}

 _ 可以用来跳过某个值

  • 多iota重新计数

 

package main

import "fmt"

func main() {
	const (
		n1 = iota
		n2
		n3
		n4
	)
	const (
		v1 = iota
		v2
		v3
		v4
	)
	fmt.Println(n1, n2, n3, n4)
	fmt.Println(v1, v2, v3, v4)
}

 新的iota不会对前一个iota进行累加,新的iota会重新开始新一轮的计数

4)特征

1)const遇到iota,会初始化iota为0

package main

import "fmt"

func main() {
	const a = iota //const遇到iota后,初始化iota为0  
	fmt.Println(a)
}

结果是 0

2)const中如果下一行没有写任何值,则下一行和上一行的值一致

package main

import "fmt"

func main() {
	const (
		a = 100
		b = 1000
		c //没有写任何值,则和上一行值一致,也就是c=1000
		d //没有写任何值,则和上一行值一致,也就是d=1000
	)
	fmt.Println(a, b, c, d)
}

结果是:100,1000,1000,1000

3)iota每新增一行都递增1

package main

import "fmt"

func main() {
	const (
		a, b = iota + 1, iota + 2 //const遇到iota会将iota初始化为0,所以就是0+1,0+2
		c, d                      //没有写任何值,所以和上一行值一致,所以是iota+1,iota+2, 由于iota每新增一行递增1,所以也就是1+1,1+2
		e, f                      //没有写任何值,所以和上一行值一致,所以是iota+1,iota+2, 由于iota每新增一行递增1,所以也就是2+1,2+2
	)
	fmt.Println(a, b, c, d, e, f)
}

所以结果是:1,2,2,3,3,4

Golang 基础(六)输入-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值