前端之家收集整理的这篇文章主要介绍了
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))
}