go管道使用1-各种数据类型使用
go里面管道使用
1.有缓冲的管道
package main
import "fmt"
func main(){
	intchan:=make(chan int,3);//创建有缓冲管道
	intchan <- 10;//写入管道数据
	firstDara:= <- intchan;//从管道里面读取数据
	fmt.Println(firstDara)
	close(intchan)
}
2.管道里面map结构
package main
func main(){
    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;
}
3.结构体管道
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);
}
 
                     
                    
                 
                    
                 
                
            
         
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号