>  기사  >  백엔드 개발  >  Go에서 매개변수 개수가 다른 함수에 여러 반환 값을 인수로 전달할 수 있나요?

Go에서 매개변수 개수가 다른 함수에 여러 반환 값을 인수로 전달할 수 있나요?

Susan Sarandon
Susan Sarandon원래의
2024-10-31 11:20:29563검색

Can Multiple Return Values Be Passed as Arguments to Functions with Different Parameter Counts in Go?

Go에서 함수 인수로 여러 반환 값

Go에서 함수는 여러 값을 반환할 수 있으며 이는 코드 구조화 및 재사용에 도움이 될 수 있습니다. . 그러나 이러한 반환 값을 다른 함수에 인수로 전달하는 경우 특정 제한 사항이 적용됩니다.

여러 반환 값에 대한 제한 사항

함수 returnIntAndString( ) 두 값(정수 및 문자열)을 반환하는 경우 문제 없이 반환 값을 사용하여 다른 함수 doSomething(int, string)을 호출할 수 있습니다. like:

<code class="go">doSomething(returnIntAndString())</code>

그러나 메시지 문자열과 같은 추가 인수를 doSomething()에 추가하면 Go는 다음과 같이 호출하면 불평할 것입니다.

<code class="go">doSomething("message", returnIntAndString())</code>

The 컴파일 오류:

  • main.go:45: 단일 값의 다중 값 returnIntAndString() context
  • main.go:45: doSomething()

해결 방법

Go 사양에서는 다음을 허용하지 않습니다. 추가 매개변수가 있는 함수에 인수로 전달되는 여러 반환 값입니다. 내부 함수는 외부 함수의 매개변수에 필요한 정확한 값 수를 반환해야 합니다. 이 조건이 충족되지 않으면 다음과 같이 반환 값을 변수에 할당하고 함수를 별도로 호출해야 합니다.

<code class="go">code, str := returnIntAndString()
doSomething("message", code, str)</code>

결론적으로 Go에서는 여러 반환 값이 코드 재사용성을 향상시킬 수 있지만 한계가 있습니다. 매개변수 개수가 다른 다른 함수에 인수로 전달할 때. 이런 경우에는 수동 할당과 별도의 함수 호출이 필요합니다.

위 내용은 Go에서 매개변수 개수가 다른 함수에 여러 반환 값을 인수로 전달할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.