Skip to content
On this page
go
package main

import (
	"fmt"
)

func main() {
	//
	// var name type = value
	const con, con2 = 10, 20                      // 常量必须初始化,类型可以省略
	fmt.Printf("type:%T, value:%v\n", con, con)   // 输出:type:uint, value:10
	fmt.Printf("type:%T, value:%v\n", con2, con2) // 输出:type:uint, value:10

	const (
		a = 4
		b = "aaa"
		c
		_
		d        = iota * 2
		e uint16 = 20
	)
	fmt.Printf("type:%T, value:%v\n", a, a) // 输出:type:int, value:4
	fmt.Printf("type:%T, value:%v\n", b, b) // 输出:type:string, value:aaa
	fmt.Printf("type:%T, value:%v\n", c, c) // 输出:type:int, value:2
	fmt.Printf("type:%T, value:%v\n", d, d) // 输出:type:int, value:6
	fmt.Printf("type:%T, value:%v\n", e, e) // 输出:type:uint16, value:20

	const (
		_   = 0
		Mon = iota
		Tues
		Wed
		Thur
		Fri
		Sat
		Sun
	)
	fmt.Printf("type:%T, value:%v\n", Mon, Mon)   // 输出:type:int, value:1
	fmt.Printf("type:%T, value:%v\n", Tues, Tues) // 输出:type:int, value:2
	fmt.Printf("type:%T, value:%v\n", Wed, Wed)   // 输出:type:int, value:3
	fmt.Printf("type:%T, value:%v\n", Thur, Thur) // 输出:type:int, value:4
	fmt.Printf("type:%T, value:%v\n", Fri, Fri)   // 输出:type:int, value:5
	fmt.Printf("type:%T, value:%v\n", Sat, Sat)   // 输出:type:int, value:6
	fmt.Printf("type:%T, value:%v\n", Sun, Sun)   // 输出:type:int, value:7

	const (
		_         = iota
		KB uint64 = 1 << (10 * iota)
		MB
		GB
		TB
	)
	fmt.Printf("type:%T, value:%v\n", KB, KB) // 输出:type:uint64, value:1024
	fmt.Printf("type:%T, value:%v\n", MB, MB) // 输出:type:uint64, value:1048576
	fmt.Printf("type:%T, value:%v\n", GB, GB) // 输出:type:uint64, value:1073741824
	fmt.Printf("type:%T, value:%v\n", TB, TB) // 输出:type:uint64, value:1099511627776
}