如何使用Go编程语言对文件名进行排序?

时间:2019-03-12 15:42:23

标签: go

在Go项目中,我需要对.json文件进行排序,并在终端go run main.go上运行此命令时在终端上显示它们的名称。

我编写了一个显示文件夹中所有文件的程序,但是我需要对.json文件进行排序。

我的代码如下:

package main

import (
    "fmt"
    "log"
    "os"
    "bytes"
    "io"
)

func main() {

    if os.Args[1] == "display-json-name" {
        //reads the directory name and returns a list of directory entries
        dirname := "." 

        f, err := os.Open(dirname)
        if err != nil {
            log.Fatal(err)
        }
        files, err := f.Readdir(-1)
        f.Close()
        if err != nil {
            log.Fatal(err)
        }

        for _, file := range files {
            fmt.Println(file.Name())
        }
    }

我们如何仅对不同的.json文件进行排序?

我的项目的层次结构是: enter image description here

1 个答案:

答案 0 :(得分:1)

https://golang.org/pkg/io/ioutil/#ReadDir

package main

import (
    "fmt"
    "io/ioutil"
    "log"
)

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

    for _, file := range files {
        fmt.Println(file.Name())
    }
}