管道使用案例[int类型]
package main import "fmt" func main(){ var intchan chan int; //定义管道 intchan=make(chan int,3);//创建管道 intchan <- 10;//写入管道数据 firstDara:= <- intchan;//从管道里面读取数据 fmt.Println(firstDara); }
管道里面map结构
package main func main(){ var myMap chan map[string]string; myMap=make(chan map[string]string,10); m1:=make(map[string]string,10); m1["name"]="lisi"; m1["sex"]="男"; myMap <- m1; m2:=make(map[string]string,10); m2["test"]="go"; m2["info"]="think"; myMap <- m2; }
结构体管道
package main import "fmt" type Cat struct { Name string Age int } func main(){ catChan:=make(chan Cat ,10);//结构体管道 cat:=Cat{Name:"cat",Age:20}//创建构体cat赋值 catChan <- cat;//赋值给管道 info:= <- catChan;//取出管道 fmt.Println(info.Name); }
接口管道
package main import "fmt" type Cat struct { Name string Age int } func main() { cat:=Cat{Name:"lisi",Age:20}; var allChan chan interface{}; allChan= make(chan interface{},10); //存入 allChan <- cat; allChan <- 10; allChan <- "test"; //取出 cat1 := <- allChan handleCat:=cat1.(Cat);//类型断言 fmt.Println(handleCat.Name); }