Go에서 Strings.Join을 위한 사용자 정의 ToString 기능
Go에서 strings.Join 함수에는 문자열 조각이 입력으로 필요합니다. 그러나 문자열 변환을 지원하는 다양한 유형의 객체를 결합하는 것이 유용할 수 있습니다.
문제:
우리는 Join이라는 사용자 정의 함수를 만들고 싶습니다. ToString() 함수를 구현하고 해당 문자열 표현을 지정된 문자열과 결합하는 개체 조각입니다. 구분 기호.
해결책:
특정 ToString() 인터페이스를 정의하는 대신 Go의 내장 String() 메서드를 활용할 수 있습니다. 이 메소드를 명명된 유형에 연결하기만 하면 문자열 표현을 사용자 정의하는 기능이 자동으로 부여됩니다.
예:
다음은 사용자 정의를 생성하는 예입니다. 표준 int를 확장하는 유형(bin) 유형:
package main import "fmt" type bin int func (b bin) String() string { return fmt.Sprintf("%b", b) } func main() { fmt.Println(bin(42)) }
출력:
101010
이 예에서는 정수 42의 이진 표현이 콘솔에 인쇄됩니다. 이제 Bin 유형에 String() 메서드가 첨부되어 있으므로 fmt.Println을 직접 호출할 수 있습니다.
String() 메서드를 사용하면 사용자 정의 ToString() 인터페이스가 필요하지 않습니다. 래퍼 기능. 이를 통해 기존 유형을 쉽게 확장하고 다양한 사용 사례에 맞게 문자열 표현을 사용자 정의할 수 있습니다.
위 내용은 문자열 조각 너머의 개체에 대해 Go에서 문자열 결합을 어떻게 사용자 정의할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!