Go에서 모든 유형을 포함할 수 있는 데이터 구조를 생성하려면 빈 인터페이스 활용을 고려하세요.
Go 프로그래밍 언어 사양에 따르면 "모든 유형은 빈 인터페이스를 구현합니다." 즉, 인터페이스{} 유형의 변수를 정의하고 인터페이스가 아닌 모든 유형의 값을 할당할 수 있습니다.
var value interface{} = 10
이 기능을 사용하면 모든 유형의 값을 저장할 수 있는 데이터 구조를 생성할 수 있습니다. C의 void 포인터와 유사합니다. 예를 들어 각 노드가 모든 유형의 값을 포함할 수 있는 연결 목록을 정의할 수 있습니다.
type Node struct { Value interface{} Next *Node }
Go 1.18부터 내장 별칭 any가 인터페이스{}의 동의어로 도입되었습니다. 빈 인터페이스에 대해 더 간결하고 설명적인 이름을 제공합니다.
var value any = 10
빈 인터페이스 또는 해당 별칭 any를 활용하면 다음 값을 저장할 수 있는 Go 데이터 구조를 만들 수 있습니다. 모든 유형, C의 void 포인터와 유사한 기능을 달성합니다.
위 내용은 Go가 C의 Void 포인터와 동등한 것은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!