zoukankan      html  css  js  c++  java
  • go里面管道使用

    管道使用案例[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);
    }
  • 相关阅读:
    mysql 内联接、左联接、右联接、完全联接、交叉联接 区别
    JS 时间字符串与时间戳之间的转换
    MySQL性能优化的最佳20条经验
    ++i 与 i++ 的区别
    === 与 == 区别
    SC命令创建和删除windows服务
    杂记
    linux 文件编程
    u-boot 启动过程
    简单冒泡法
  • 原文地址:https://www.cnblogs.com/zh718594493/p/14152476.html
Copyright © 2011-2022 走看看