docopt를 사용하여 명령줄 인수를 구문 분석할 때 결과는 map[string]interface{ 유형의 맵입니다. }. 그러나 이 맵에서 값을 연결하려고 하면 유형 불일치로 인해 오류가 발생할 수 있습니다. 이는 지도의 값이 무엇이든 될 수 있는 인터페이스{} 유형이기 때문입니다. 이 문제를 해결하려면 유형 어설션이 필요합니다.
인터페이스{} 값을 문자열로 변환하려면 .(문자열) 연산자를 사용하세요. 이 연산자는 값이 문자열로 캐스팅될 수 있음을 나타냅니다. 예:
host := arguments["<host>"].(string) + ":" + arguments["<port>"].(string)
이 예에서는 "host" 및 "port" 값을 인수 맵에서 가져온 다음 .(string) 연산자를 사용하여 문자열로 변환합니다.
최신 버전의 docopt는 유형 변환을 위한 메소드가 있는 Opts 객체를 제공합니다. 이러한 메서드는 다음과 같이 사용할 수 있습니다.
host, err := arguments.String("<host>") port, err := arguments.String("<port>") host_port := host + ":" + port
String() 메서드는 값을 문자열로 변환하여 유형 변환 프로세스를 단순화합니다.
위 내용은 Docopt를 사용할 때 Go에서 `interface{}`를 `string`으로 안전하게 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!