第一章 Go语言初识

一:Go语言的错误处理流程引入了三个关键字分别是:1:defer,2:panic,3:recover
二:并发编程,在Go中引入了goroutine概念,他是并发编程变得很简单,Go使用信息传递来共享内存,然并发编程变得更轻盈和安全,在函数前面使用 go就可以让函数以goroutine方式运行
如:
package main
 
import "fmt"
 
func sum(values[] int,resultChan chan int){
sum :=0
for _,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,<-resultChar
fmt.Println("",sum1,sum2,sum1+sum2)
}
三:反射reflection是Go里面的反射测试代码如下
   
package main
 
import (
"fmt"
"reflect"
)
 
type Bird struct {
Name string
Life 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 函数名(参数列表)(返回值列表){
}
 
 
posted @ 2018-08-03 18:05  瀚海行舟  阅读(110)  评论(0)    收藏  举报