Я начал учиться уходить языком несколько дней назад. Когда я попытался начать писать какие-то забавные коды, я застрял в странном поведении.
package main
import "fmt"
func recv(value int) {
if value < 0 {
return
}
fmt.Println(value)
go recv(value-1)
}
func main() {
recv(10)
}
когда я запускаю вышеуказанный код, печатается только 10
. Когда я удаляю go
перед вызовом recv
, отпечатка 10
до 0
. Я считаю, что я злоупотребляю рутиной здесь, но я не могу понять, почему это не удалось запустить рутину таким образом.