猿问

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

.json在我的 Go 项目中,当我在终端上运行此命令时,我需要对文件进行排序并在终端上显示它们的名称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文件进行排序?

我的项目的层次结构是: 

Helenr
浏览 186回答 2
2回答

江户川乱折腾

根据评论,问题似乎是“如何打印文件扩展名为 .json 的文件”。这是代码: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 {        if filepath.Ext(file.Name()) == ".json" {            fmt.Println(file.Name())        }    }}

小怪兽爱吃肉

https://golang.org/pkg/io/ioutil/#ReadDirpackage mainimport (    "fmt"    "io/ioutil"    "log")func main() {    files, err := ioutil.ReadDir(".")    if err != nil {        log.Fatal(err)    }    for _, file := range files {        fmt.Println(file.Name())    }}
随时随地看视频慕课网APP

相关分类

Go
我要回答