1:常量定義使用
我們都知道,變數是用來儲存資料,並且變數裡面儲存的值是可以在程式執行時隨時發生變化的,但是,常量裡面的值確定好後,後面是不允許修改的。下面看一下關於常量的定義使用:
常量的命名規範與變數命名規範一致。
問題:什麼場景下會用到常量呢?
在程式開發中,我們用常量儲存一直不會發生變化的資料,例如:π,身份證號碼等。像這類的資料,在整個程式中執行中都是不允許發生改變的。
package main
import "fmt"
func main0501() {
//var a int = 10
//常量的定義 一般定義常量使用大寫字母
const MAX int = 10
//常量可以參與程式的計算
//b:=a+10
//常量不允許左值賦值
//a=a+10//err
//a=100//err
fmt.Println(MAX)
}
func main0502() {
const MAX = "你瞅啥"
//fmt.Println(MAX)
//fmt.Printf("%T\n",MAX )
//go語言常量的地址 不允許訪問
//fmt.Printf("%p",&MAX)//err
}
func main0503() {
//計算圓的面積和周長
//面積 PI*r*r math.Pow(r,2)
//周長 2*PI*r
//PI 3.14
//常量必須定義
const PI float64 = 3.14
var r float64
fmt.Scan(&r)
//面積
s := PI * r * r
//周長
l := 2 * PI * r
//fmt.Println(PI)
fmt.Printf("面積:%.2f\n", s)
fmt.Printf("周長:%.2f\n", l)
}
func main() {
//資料區 -》常量區
//字面常量
fmt.Println("hello world")
fmt.Println(3.14)
a := 10
fmt.Println(a + 20)
}
2:字面常量
所謂字面常量(literal),是指程式中硬編碼的常量,如:
func main() {
//資料區 -》常量區
//字面常量
fmt.Println("hello world")
fmt.Println(3.14)
a := 10
fmt.Println(a + 20)
}
3:iota列舉
常量宣告可以使用iota常量生成器初始化,它用於生成一組以相似規則初始化的常量,但是不用每行都寫一遍初始化表示式。
注意:在一個const宣告語句中,在第一個宣告的常量所在的行,iota將會被置為0,然後在每一個有常量宣告的行加一。
具體使用方式如下:
package main
import "fmt"
func main() {
//iota列舉
//iota列舉格式如果寫在一行中值相等 如果換行值在上一行加一
//const (
// a = iota
// b, c = iota, iota
//)
//只需要對第一個進行iota賦值 後面會依次增長
//const (
// a = iota
// b
// c
// d
//)
//在定義iota列舉時可以自定義賦值
const (
a = iota
b = 10
c = 20
d
e
f = iota
g
)
//a=100//err
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
fmt.Println(d)
fmt.Println(e)
fmt.Println(f)
fmt.Println(g)
}