1
나는이 코드를 이해하려고 노력하고 있는데, 왜 두 번째 시도가 첫 번째 코드보다 먼저 실행되는지 모르겠습니다. 누군가가 정말로이 일을 도와 주면 좋을 것 같습니다!골 루틴의 실행 순서
func sum(a []int, c chan int) {
fmt.Println("summing: ", a)
total := 0
for _, v := range a {
total += v
}
//fmt.Println("send to c",total)
c <- total // send total to c
}
func main() {
//a := []int{7, 2, 8,134,23,23,1,23,1234,143, -9, 4, 0, 1234}
c := make(chan int)
go sum([]int{1,2,3}, c)
go sum([]int{4,5,6}, c)
x := <-c
fmt.Println(x)
x = <-c
fmt.Println(x)
}
는 OUTPUT :
summing: [4 5 6]
15
summing: [1 2 3]
6