2016-08-02 5 views
1

Ich verwende diesen Code dynamisch Vorlage Dateinamen aus einem Verzeichnis mit diesem Code zu extrahieren:Wie konvertiert man einen Typ [] os.FileInfo in eine Zeichenfolge?

files, _ := ioutil.ReadDir("./views") 
    htmlFiles := ".html" 
    for _, f := range files { 
     if strings.Contains(files, htmlFiles) { 
      fmt.Println(f.Name()) 
     } 
    } 

und ich bekomme diese Fehlermeldung:

cannot use files (type []os.FileInfo) as type string in argument to strings.Contains 

So, wie type []os.FileInfo in eine umwandeln string (oder wie geht das auf eine einfachere Weise)?

Antwort

2

Der Wert, der von ioutil.ReadDir zurückgegeben wird, ist ein []os.FileInfo, das ein Stück Schnittstellen ist. Es gibt keine allgemeine Möglichkeit, dies in eine sinnvolle Zeichenfolge umzuwandeln. Sie möchten den Namen für jede Datei einzeln vergleichen:

files, err := ioutil.ReadDir("./views") 
if err != nil { 
    log.Fatal(err) 
} 

for _, f := range files { 
    if strings.HasSuffix(f.Name(), ".html") { 
     fmt.Println(f.Name()) 
    } 
} 
Verwandte Themen