go - map 及channel使用

map:使用前需要初始化

package main

import "fmt"
type m_map map[string]interface{
    
    }
func main() {
    
    
	        
        type Show struct {
    
    
                m_map
        }
        s := new(Show)
        s.m_map= m_map{
    
    }
        s.m_map["count"] = 100
        fmt.Println(s.m_map["count"])
}

协程间通信 - channel

package main

import (
        "fmt"
        "time"
        "os/exec"
)

func main(){
    
    

        type m_map map[string]string
        var chann = make(chan map[string]string, 100)
        
        go func(){
    
    
                for {
    
    
                        mmap := make(m_map)
                        mmap["command"] = "hello"
                        fmt.Println("send:",mmap["command"])
                        chann <- mmap
                        time.Sleep(1 * time.Second)
                        if len(chann) > 30 {
    
    
                                return
                        }
                }
        }()

        go func(){
    
    
                for {
    
    
                        mmp := <- chann
                        fmt.Println("recv:",mmp["command"], " channel len:", len(chann))
                        time.Sleep(3 * time.Second)
                }
        }()

        time.Sleep(60 * time.Second)
        exec.Command("read")
}

猜你喜欢

转载自blog.csdn.net/weixin_44328568/article/details/119763823