Как отсортировать имена файлов с помощью языка программирования Go? - PullRequest
0 голосов
/ 12 марта 2019

В моем проекте 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

Ответы [ 2 ]

2 голосов
/ 12 марта 2019

Судя по комментариям, возникает вопрос: «Как напечатать файлы с расширением .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())
        }
    }
}
1 голос
/ 12 марта 2019

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())
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...