golang 攜程管道簡單使用

package main

import "fmt"

func Sun (val int,res chan int) {
	val+=val
	res <- val
	return
}

func main () {
	// 建立能存放 int 數據的管道 chan channel
	var c = make(chan int,3)
	var arr = []int{1,2,3}
	// 建立10個攜程
	for i:=0; i<len(arr); i++{
		go Sun(arr[i],c)
	}
	// chan 從管道中取出
	var val1,val2,val3 = <-c,<-c,<-c
	fmt.Println("val1=",val1)
	fmt.Println("val2=",val2)
	fmt.Println("val3=",val3)
	defer close(c)
}
相關文章
相關標籤/搜索