Есть ли способ создать незафиксированная длина ломтик в go? В качестве примера, я хочу захватить все имена файлов в каталоге (content/
), заполнить до [] string
фрагмент.Как создать отрезанный отрезок длины в golang
content/
реж содержит:
$-> tree content/
content/
├── 1.txt
├── 2.txt
└── tmp
Вот что я в настоящее время получил:
package main
import (
"fmt"
"io/ioutil"
)
func listFile() []string {
list := make([]string, 100)
// as you can see, I make a slice length as 100, but that is not appropriate.
files, _ := ioutil.ReadDir("content")
i := 0
for _, f := range files{
list[i] = f.Name()
i = i+1
}
return list
}
func main(){
fmt.Print(listFile())
}
То, что я хочу достичь, это способ имитировать поведение ArrayList
в Java, который я могу просто list.add()
и не заботятся о длине.
Может ли разрезать GoLang сделать это?
Спасибо.
Спасибо, я изо всех сил через [официальный блог] (http://blog.golang.org/go-slices-usage-and-internals) снова и иметь лучшее представление о срезе GoLang в механизм. – armnotstrong