1.常量
使用 const 定義 格式如:
const identifier[type] = value
//例如
const pi float32 = 3.1415926....
const hello = "你好Go!"
const return = ture
const 人數 = 100
2.轉義字符
Go使用反斜槓作爲轉義字符
例如 :換行符(\n), 製表符(\t)等等
3.賦值
func main() {
a := 2 // := 是GO的一種簡寫 , 表示函數內部聲明並賦值
b := 20
c = a
fmt.Println(a,b,c)
}
注意:
d := n++
if n++ == 1 {}
++n
上門這三個都是錯誤的演示
在Go中 ++和--是語句,不是表達式,沒有運算符優先級之說
還有Go語言不支持重載
4.註釋
就是平常的三種
1. //行註釋
2. /*這也是一個註釋*/
3. /*
這是一個Go的註釋
*/
5.枚舉
常量可以作爲枚舉
const(
con = 0
opne = 1
close = 2
)
現在數字0,1,2分別代表控制,打開,關閉
關鍵字實現枚舉
package main
import("fmt")
const(
a = iote //a == 0
b //b == 1 ,隱式使用iota關鍵字,實際等同於 b == iota
c //c == 2 ,c == iota
d,e,f = iota, iota,iota //d=3,e=3,f=3 ,同一行值相同,此處不能只寫一個iota
g = iota //g = 4
h = "h" //h = "h" ,單獨賦值,iota依舊等於5
i //i = "h" ,默認使用上面的賦值,iota依舊遞增爲6
j = iota //j = 7
)
const z = iota //每個單獨定義的const常良中,iota都會重置,此時z=0
func main(){
fmt.Println(a,b,c,d,e,f,g,h,i,j)
}
6.變量
聲明變量
var a int //定義一個變量a爲int型
var b bool //定義一個變量b爲bool型
var a, b int //定義兩個變量爲int型
也可以這樣
var(
a,b int
c bool
d string
)
//多個變量同時聲明和賦值
var a, b, c = 1, 2, 3
注意:
下面這種只能在函數體內使用
x,y = 5,6
6.1 局部變量聲明
變量的聲明有兩種,上面的是一種,另一種是使用:=符號
例如:
a := 1 //等同於 var a = 1
Go語言編譯器能智能判別類型,不用寫a變量的類型也可以的
a := 1
/* 1. 這種全局變量的聲明是錯誤的*/
var a = 1
/* 2. 全局變量聲明應該用這種形式*
a := 10
/* 3.前面已經定義了變量a ,同一個代碼塊中不能重複再次定義*/
func main(){
b:=2 //只能在函數體中使用這種語法
a:=100 //把100賦給a沒問題
a:=hello //函數體內部屬於另一個代碼塊,可以再次聲明變量a,改變變量類型
fmt.Println(a,b,c)
}
var c = 0 //全局變量不限位置,在函數體外即可
/*
返回
100 , 2 ,0
*/
7.匿名函數
func main() {
x := 4
fmt.Println("休息休息")
}
注意!!!!
//這段代碼會報錯
局部變量有個特點就是定義了必須使用
如果定義了x並沒有用,編譯會出錯,即使是函數賦值也會出錯
8. init函數
package main
import (
"fmt"
"math"
)
var pi float64
func init() {
pi = 4 * math.Atan(1) //在init函數中計算pi的值
}
func main() {
Dpi := pi * pi
fmt.Println(pi, Dpi)
}
返回:3.141592653589793 9.869604401089358