如何使用for循环创建对象切片

代码:

    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)

这是我收到的仅包含最后一个文件详细信息的回复。
如何创建对象切片,这意味着我希望响应中包含所有文件的详细信息。

q328849980qqq 回答:如何使用for循环创建对象切片

类似这样的东西:

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)
,

代替添加,您可以创建具有大小的数组

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(),"size":      file.Size(),}

        elements[i] = e
    }

    for i,e := range elements {
        fmt.Println(i,e)
    }
}
本文链接:https://www.f2er.com/3126068.html

大家都在问