C에서 using 지시문을 사용하면 네임스페이스 이름 앞에 접두사를 붙일 필요 없이 네임스페이스에서 특정 요소를 가져올 수 있습니다. . 예를 들어, std::cout을 사용하면 std::cout 대신 cout을 직접 사용할 수 있습니다.
질문: C에서 some_namespace::object를 사용하는 것과 동등한 것이 있습니까? Go?
답변:
Go는 C의 using 지시문과 완전히 동일한 기능을 제공하지 않습니다. 그러나 비슷한 효과를 얻을 수 있는 몇 가지 접근 방식이 있습니다.
1. 전체 네임스페이스 가져오기:
. 구문:
<code class="go">import . "common"</code>
공통 네임스페이스에서 모든 식별자를 가져오므로 네임스페이스 접두사 없이 사용할 수 있습니다. 그러나 네임스페이스에서 몇 가지 특정 요소만 필요한 경우에는 이 접근 방식이 바람직하지 않을 수 있습니다.
2. 별칭 사용:
type 키워드를 사용하여 특정 식별자에 대한 별칭을 만들 수 있습니다.
<code class="go">import "fmt" type Sprintf = fmt.Sprintf</code>
이렇게 하면 fmt.Sprintf 대신 Sprintf를 직접 사용할 수 있습니다. 하지만 이 접근 방식을 사용하려면 사용하려는 각 식별자에 대한 별칭을 명시적으로 정의해야 합니다.
3. 사전 정의된 식별자 사용:
일반적으로 사용되는 일부 식별자의 경우 Go는 해당 패키지를 가져오지 않고도 사용할 수 있는 사전 정의된 식별자를 제공합니다. 예를 들어, len은 "buildin" 패키지의 len 함수에 대해 사전 정의된 식별자입니다.
예:
다음 Go 코드는 위에서 설명한 다양한 접근 방식을 보여줍니다.
<code class="go">import ( "fmt" ) type Sprintf = fmt.Sprintf func main() { fmt.Println(fmt.Sprintf("Hello, world!")) fmt.Println(Sprintf("Hello, world!")) }</code>
이 예에서는 사전 정의된 fmt 식별자와 Sprintf 별칭을 사용하여 fmt.Sprintf 함수 호출을 대체합니다.
위 내용은 C의 `using some_namespace::object` 지시어에 해당하는 Go가 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!