Go에서 Append() 함수를 사용하면 동일한 유형의 슬라이스에 요소를 추가할 수 있습니다. 그러나 ...interface{} 유형의 가변 인수 슬라이스를 허용하는 메서드를 처리할 때, add("some string", v)를 사용하여 문자열을 직접 추가하면 오류가 발생합니다.
성공적으로 앞에 추가하려면 문자열을 가변 인수 슬라이스에 추가하려면 인터페이스 값 슬라이스를 사용해야 합니다.{} 이는 ...interface{}가 모든 유형의 요소를 허용하기 때문입니다. 이를 달성하려면 초기 문자열을 []interface{} 슬라이스로 래핑할 수 있습니다.
func (l Log) Error(v ...interface{}) { stringInterface := []interface{}{" ERROR "} l.Out.Println(append(stringInterface, v...)) }
이렇게 하면 ERROR 문자열을 []interface{} 슬라이스로 래핑한 다음 변수에 추가할 수 있습니다. 인수 슬라이스 v.
다음은 예:
package main import "fmt" func main() { s := "first" rest := []interface{}{"second", 3} all := append([]interface{}{s}, rest...) fmt.Println(all) }
출력:
[first second 3]
위 내용은 Go에서 Variadic 인터페이스 슬라이스 앞에 문자열을 추가하는 방법은 무엇인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!