Go 프로그래밍 언어의 8장에서 다음 명령문은 다음과 같습니다. 동시성 에코 서버에 대해 작성되었습니다:
go에 의해 시작된 함수에 대한 인수는 go 문 자체가 다음과 같을 때 평가됩니다. 실행; 따라서 input.Text()는 기본 고루틴에서 평가됩니다.
이 명령문은 go 문이 실행될 때 input.Text() 함수가 즉시 평가되고 그 결과가 go echo에 전달된다는 의미입니다. () 고루틴. 이는 함수가 호출될 때 함수 인수가 평가되고 결과가 호출된 함수에 전달되는 일반 함수 호출과 대조됩니다.
이 차이가 나는 이유는 go 문이 새 함수를 시작하기 때문입니다. 고루틴과 고루틴은 메인 고루틴과 동시에 실행됩니다. 함수가 호출될 때 go로 시작된 함수에 대한 인수가 평가된 경우 기본 고루틴은 새 고루틴을 시작하기 전에 함수가 완료될 때까지 기다려야 합니다. 이는 동시성을 활성화하려는 고루틴 사용 목적을 무산시키는 것입니다.
go 문 자체가 실행될 때 go에 의해 시작된 함수에 대한 인수를 평가함으로써 기본 고루틴은 함수를 기다릴 필요가 없습니다. 완료합니다. 이를 통해 고루틴을 동시에 시작할 수 있으며, 이는 원하는 동작입니다.
위 내용은 `go` 문을 사용할 때 기본 고루틴에서 `input.Text()`가 평가되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!