1
과 일치하지 않습니다. 시험용으로 os.FileInfo
을 모의했습니다.os.FileInfo mock이 내 골란 프로젝트 중 하나에서
golang의 인터페이스 처리를 제대로 이해하고 있는지 잘 모르겠습니다. 내가 아는 한 다음 코드 조각이 작동해야하지만, 인터페이스가 일치하지 않는다고 말하는 Compilererror가 발생합니다.
직접 수정하려는 경우에 대비하여 this go-doc 예제를 약간 수정했습니다. golang의 의사에 따라
package main
import (
"fmt"
"io/ioutil"
"log"
)
type file interface{
Name() string
}
func readFiles() []file{
files, err := ioutil.ReadDir(".")
if err != nil {
log.Fatal(err)
}
return files
}
func main() {
files := readFiles()
for _, file := range files {
fmt.Println(file.Name())
}
}
는
ioutil.ReadDir(".")
내 selfwritten
file
인터페이스의 전문화해야
os.FileInfo
의 조각을 반환해야합니다.
누구나 오해와 얽힘을 도울 수 있습니까?
대단히 감사합니다!
https://golang.org/doc/faq#convert_slice_of_interface에서 이야기하는 내용입니다. 문제는 슬라이스가 아니라 인터페이스입니다. – Volker
http://stackoverflow.com/a/12754757/859353 – jcbwlkr