2016-11-06 1 views
-7

신입생입니다. 내 질문은 이동하거나하지 않고 함수를 실행하는 차이점은 무엇입니까. 예를 들어 .go 파일에서 "test()"와 "go test()"의 차이점을이 함수라고 부르는 경우 하나의 test() 함수가 있습니다.Golang의 기능을 실행 여부와 상관없이 수행 할 수 있습니까?

+0

으로 time.Sleep 커맨드 라인 입력 또는에 넣어 go test("sue")에 대해 차단할 수있는 문제 "는 goroutine 무엇인지"입니다. https://gobyexample.com/goroutines를 살펴보십시오. – nilsmagnus

+5

Go to tour Go to https://tour.golang.org보다 새로운 여행을 시작한 다음에 다시 둘러보고 둘러보기를 즐겨보십시오. 그런 다음에 물어보십시오. – Volker

+0

@nilsmagnus 고마워요. – michael

답변

1

test()은 전화를 걸 때 실행됩니다. go test()test()과 완전히 독립적으로 비동기 적으로 실행됩니다.

이 같은 프로그램이있는 경우 :

func main() { 
    test("bob") 
    go test("sue") 
} 

func test(msg string) { 
    fmt.Printf("hello %v", msg) 
} 

당신 만 main 기능 실행이 오른쪽 끝까지 이동하기 때문에 출력

안녕하세요 밥

을 볼 수 있습니다. go test("sue")이 자체 독립 기능이므로 완료되기를 기다리는 데 아무 것도 없습니다.

당신은 fmt.Scanln(&input)

Go playground

+0

정말 고마워요! – michael

관련 문제