Go如何聲明常量「簡單易懂」

規則

常量的數據類型只能是以下幾種:

  • 布爾型
  • 數字型(整數型、浮點型和複數)
  • 字符串型

一般形式

package main

func main(){
	//常量聲明符號 + 變量名 + 數據類型 
	const first int = 520
	
	println("first:", first)
}


package main

func main(){
	//常量聲明符號 + 變量名
	//會自動推斷數據類型
	const first  = 520

	println("first:", first)
}


作爲枚舉的形式

package main



func main(){
	//顯示的聲明
	/*
	   const(
	   	Monday int = 1
	   	Tuesday int = 2
	   	Wednesday int = 3
	   )
	*/

	//隱式的聲明,會自動推斷數據類型
	const(
		Monday  = 1
		Tuesday  = 2
		Wednesday  = 3
	)

	fmt.Println("Monday:", Monday) // 1
	fmt.Println("Tuesday:", Tuesday) // 2
	fmt.Println("Wednesday:", Wednesday) // 3
}


特殊常量 iota

注:iota 的初始化爲 0, 每一行都會增加1,也就是" iota = iota + 1"

package main

import "fmt"

func main(){

	const(
		Monday = 1 + iota
		Tuesday
		Wednesday
	)

	fmt.Println("Monday:", Monday) // 1
	fmt.Println("Tuesday:", Tuesday) // 2
	fmt.Println("Wednesday:", Wednesday) // 3
}


直接在每個常量後面賦值 iota

package main

import "fmt"

func main(){

	const(
		Monday = 1 + iota
		Tuesday = iota
		Wednesday = iota
	)

	fmt.Println("Monday:", Monday) // 1 因爲 iota 在這爲0,本身又加1,所以爲1
	fmt.Println("Tuesday:", Tuesday) // 1 iota 在這爲1
	fmt.Println("Wednesday:", Wednesday) // 2 iota 在這爲2
}

常量的一些小錯誤點

不能重新被賦值
package main

import "fmt"

func main(){

	const first int = 520

	fmt.Println("first:", first)
	//這裏出現錯誤提示:Cannot assign to first「不能分配給 first」
	first = 1314 
}


歡迎大家關注下個人的「公衆號」:獨醉貪歡

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章