1.導入不同文件夾下的函數
--文件結構
test
--test.go
math
--math1.go
//test.go
package main
import (
"fmt"
mathClass "testgo/math"
)
func main() {
fmt.Println("Hello World")
fmt.Println(mathClass.Add(1, 2))
}
//math1.go
package mathClass
func Add(x,y int) int {
return x+y;
}
分析:同一個文件夾的go文件,它們的package必須相同,且不能import其他文件夾的main包
2.各個數據類型的默認值
var a = ""
fmt.Println(a) //結果爲""
var b int
fmt.Println(b) //結果爲0
var c bool
fmt.Println(c) //結果爲false
var d *int
fmt.Println(d) //結果爲<nil>
var e []int
fmt.Println(e) //結果爲[]
var f map[string]int
fmt.Println(f) //結果爲map[]
var g chan int
fmt.Println(g) //結果爲<nil>
var h func(string) int
fmt.Println(h) //結果爲<nil>
var i error
fmt.Println(i) //結果爲<nil>
var j float64
fmt.Println(j) //結果爲0
3.:=的用法
f:="asd";//var f string = "asd"
fmt.Println(f);
分析::=是定義並賦值,不需要在前面加var,且只能在函數體內使用,不能作爲全局變量
4.聲明瞭但又不使用的變量,編譯不通過
5.函數可以有多個返回值
func main() {
_,numb,strs:=numbers();//只獲取函數後兩個返回值
fmt.Println(numb,strs);
}
func numbers()(int,int,string){
a,b,c:=1,2,"123"
return a,b,c;
}
6.const常量與iota變量的使用
func main() {
const aa string = "asd" //常量的定義並賦值
fmt.Println(aa);
const(
a=iota //a=0
b //b=1
c //c=2
d="ha" //d="ha"
e //e="ha"
f=100 //f=100
g //g=100
h=iota //h=7
i //i=8
)
fmt.Println(a,b,c,d,e,f,g,h,i);
}
分析:當const中有的變量沒有賦值時,默認等同於上面的變量,iota隨着變量的增加不斷+1