一:Go语言的错误处理流程引入了三个关键字分别是:1:defer,2:panic,3:recover
二:并发编程,在Go中引入了goroutine概念,他是并发编程变得很简单,Go使用信息传递来共享内存,然并发编程变得更轻盈和安全,在函数前面使用 go就可以让函数以goroutine方式运行
如:
package mainimport "fmt"func sum(values[] int,resultChan chan int){sum :=0for _,value := range values{sum +=value}resultChan <-sum}func main() {fmt.Println("hello word")fmt.Println("这翁")values :=[] int{1,2,3,4,5,6,7,8,9,10}resultChar :=make(chan int, 2)go sum(values[:len(values)/2],resultChar)go sum(values[len(values)/2:],resultChar)sum1,sum2 :=<-resultChar,<-resultCharfmt.Println("",sum1,sum2,sum1+sum2)}
三:反射reflection是Go里面的反射测试代码如下
package mainimport ("fmt""reflect")type Bird struct {Name stringLife int}func (b *Bird) Fly() {fmt.Println("我是Fly函数")}func main() {sparrow :=&Bird{"赵占龙",2}s :=reflect.ValueOf(sparrow).Elem()typeofT :=s.Type()for i :=0; i<s.NumField();i++{f :=s.Field(i)fmt.Println("数据数据",i,typeofT.Field(i).Name,f.Type(),f.Interface())}}
四:包是Go中最基本的分发单位,要生成可执行的Go代码,必须建立一个main的包,并且这个包要有一个main的函数,该函数是Go执行的起点,main函数不能带参数,不能定义返回类型,命令行输入的参数在os.args变量里面
五:一个常规的函数定义是 func 函数名(参数列表)(返回值列表){
}