golang在函数中改变slice值

前端之家收集整理的这篇文章主要介绍了golang在函数中改变slice值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
package@H_404_3@ main

import@H_404_3@ (
    "fmt"@H_404_3@
    "time"@H_404_3@
)

func@H_404_3@ main() {
    registerChan:=make@H_404_3@(chan@H_404_3@ string@H_404_3@)

    go@H_404_3@ func@H_404_3@(){
        registerChan<-"hi"@H_404_3@
    }()
    go@H_404_3@ func@H_404_3@(){
        registerChan<-"hello"@H_404_3@
    }()

    schedule(registerChan)

}


func@H_404_3@ schedule(registerChan chan@H_404_3@ string@H_404_3@){
    workers := []string@H_404_3@{}
    go@H_404_3@ func@H_404_3@(wkrs *[]string@H_404_3@){
        for@H_404_3@{
            wkr := <-registerChan 
            *wkrs = append@H_404_3@(*wkrs,wkr)
            }
    }(&workers)
    time.Sleep(4@H_404_3@)
    fmt.Println(workers,len@H_404_3@(workers))
}

猜你在找的Go相关文章