代码:
files, err := ioutil.ReadDir(".")
elements := make(map[string]interface{})
for _, file := range files {
elements["name"] = file.Name()
elements["directory"] = file.IsDir()
elements["size"] = file.Size()
}
ctxt.JSON(http.StatusOK, elements)
这是我收到的仅包含最后一个文件详细信息的回复。
如何创建对象切片,这意味着我希望响应中包含所有文件的详细信息。
答案 0 :(得分:2)
类似这样的东西:
files, err := ioutil.ReadDir(".")
elements := []map[string]interface{}{}
for _, file := range files {
elements = append(elements, map[string]interface{}{
"name": file.Name(),
"directory": file.IsDir(),
"size": file.Size()})
}
ctxt.JSON(http.StatusOK, elements)
答案 1 :(得分:0)
代替添加,您可以创建具有大小的数组
package main
import (
"fmt"
"io/ioutil"
)
func main() {
files, _ := ioutil.ReadDir(".")
elements := make([]map[string]interface{}, len(files))
for i, file := range files {
e := map[string]interface{}{
"name": file.Name(),
"directory": file.IsDir(),
"size": file.Size(),
}
elements[i] = e
}
for i, e := range elements {
fmt.Println(i, e)
}
}