函式宣告和註釋
- 函式宣告 :func 函式名字(引數列表)(返回值列表){}
- 註釋,兩行註釋,單行註釋:// 多行 /**/
//函式舉例
func add(){}
func add(a int , b int){}
fun add(a int , b int)(int ,int){}
複製程式碼
常量
- 常量才有const 宣告,代表 只讀,不能賦值修改
- 智慧宣告布林,數字(int系列 float系列) complex 複數 string 舉例
const name = "huluwa"
const number int64 = 5656
const float float64 = 5656.466
//成組宣告
const (
a = 0
b = 1
c = 2
)
//也可以
const (
a = iota 自動累加
b //1
c //2
)
複製程式碼
變數
var 變數名 變數型別 var identifier type 舉例
var a int //預設0
var b string //預設 ""
var c bool //m預設false
var d int = 8
var hi = "hello World"
//函式體內可以使用
n :=45 //可以回自己識別型別
複製程式碼
值型別和引用型別
1.值型別:變數直接村處值,記憶體在棧中分配(int、float、bool、string以及陣列和struct) 2.引用型別變數儲存的是一個地址,記憶體通常在堆上分配,通過GC回收(指標、slice、map、chan)
- 引用 ref ⇒ 地址 ⇒值
- 值型別 var i =5 => i ---> 5
複製程式碼
變數作用域
1.在函式內部宣告的變數叫做區域性變數,生命週期僅限於函式內部。
2.在函式外部宣告的變數叫做全域性變數,生命週期作用於整個包,如果是大寫的,
則作用於整個程式。
複製程式碼
資料型別和操作符
- bool 只能存 true 和 false
var a bool
var a bool = true
var a = true
複製程式碼
- 相關操作符 ! ,&& ||
var a bool = true
var b bool
fmt.Println(!a) //false
fmt.Println(!b) //true
fmt.Println(a&&b) //false
fmt.Println(a||b) //true
複製程式碼
- 數字型別,主要有int、int8、int16、int32、int64、uint8、uint16、uint32、uint64、float32、float64
- 型別轉換,type(variable),比如:var a int=8; var b int32=int32(a)
- 邏輯操作符: == 、!=、<、<=、>和 >=
var a int = 10
if ( a > 10 ) {
fmt.Println(a)
}
複製程式碼
- 數學操作符:+、-、*、/等等
package main
Import ”fmt”
func main() {
var a int = 10
var b = a + 10
}
複製程式碼
- 字元型別:var a byte
- 字串型別: var str string
//字串表示兩種方式: 1)雙引號 2)`` (反引號)
package main
import “fmt”
func main() {
var str = “hello world\n\n”
var str2 = `hello \n \n \n
this is a test string
This is a test string too·`
fmt.Println(“str=“, str)
fmt.Println(“str2=“, str2)
}
複製程式碼