인터페이스에 대해 많이 읽었는데 어떻게 작동하는지 이해할 수 있습니다. 나는 interface{}
타입에 대해 읽고 함수의 인수를 취하기 위해 그것을 사용한다. 그것은 분명합니다. 내 질문 (그리고 내가 이해하지 못하는 것)은 내가 그것을 사용한다면 내 이익이다. 내가 완전히 그것을 얻을하지 않았다 가능하지만, 예를 들어 나는이있다 : 왜 이것보다 더 나은골란 인터페이스 혜택
package main
import (
"fmt"
)
func PrintAll(vals []interface{}) {
for _, val := range vals {
fmt.Println(val)
}
}
func main() {
names := []string{"stanley", "david", "oscar"}
vals := make([]interface{}, len(names))
for i, v := range names {
vals[i] = v
}
PrintAll(vals)
}
입니다 : 당신은 항상 다음 string
값을 인쇄 할 경우
package main
import (
"fmt"
)
func PrintAll(vals []string) {
for _, val := range vals {
fmt.Println(val)
}
}
func main() {
names := []string{"stanley", "david", "oscar"}
PrintAll(names)
}
당신이 방법 기본이되는 구현을 변경할 수있는 경우 인터페이스를 사용하지만, 그것을 사용하는 모든 코드를 변경하지 :
또한 관련 질문을 참조하십시오. – Carcigenicate