中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

將目錄中所有.go文件進行go fmt

發布時間:2020-07-18 10:52:46 來源:網絡 閱讀:931 作者:梁十八 欄目:編程語言

代碼以及使用方法:https://github.com/lzw730/gofmtAllDir

package main

import (
    "flag"
    "fmt"
    "io/ioutil"
    "log"
    "os"
    "os/exec"
    "path/filepath"
    "strings"
)

//獲取指定目錄及所有子目錄下的所有文件,可以匹配后綴過濾。
func WalkDir(dirPth string) (dirs []string, err error) {
    dirs = make([]string, 0, 20)
    //遍歷目錄
    err = filepath.Walk(dirPth, func(dirname string, fi os.FileInfo, err error) error {
        if !fi.IsDir() {
            return nil
        }
        //將目錄路徑改寫成正確格式
        if dirname != "./" {
            dirname = "./" + strings.Replace(dirname, "\\", "/", -1)
        }
        dirs = append(dirs, dirname)
        return nil
    })
    return dirs, err
}

//基于windows,執行go fmt命令
func goFmtDirs(path string) {
    cmd := exec.Command("cmd", "/C", "go fmt", path)
    stdout, err := cmd.StdoutPipe()
    //獲取輸出對象,可以從該對象中讀取輸出結果
    if err != nil {
        log.Fatal(err)
    }
    //保證關閉輸出流
    defer stdout.Close()
    //運行命令
    if err := cmd.Start(); err != nil {
        log.Fatal(err)
    }
    // 讀取輸出結果
    if opBytes, err := ioutil.ReadAll(stdout); err != nil {
        log.Fatal(err)
    } else {
        fmt.Print(string(opBytes))
    }
}

func main() {
    path := flag.String("path", "./", "The dir path")
    dirs, err := WalkDir(*path)
    if err != nil {
        log.Fatal(err)
    }
    for _, v := range dirs {
        goFmtDirs(string(v))
    }
}
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安塞县| 谷城县| 保山市| 石屏县| 华坪县| 广饶县| 响水县| 呼图壁县| 汝城县| 壶关县| 积石山| 阿克| 滨海县| 城口县| 石渠县| 吴忠市| 澜沧| 手游| 阿鲁科尔沁旗| 昌平区| 天台县| 盱眙县| 扶余县| 乐山市| 安陆市| 额尔古纳市| 平定县| 团风县| 广宗县| 南江县| 常山县| 府谷县| 阿拉善右旗| 武强县| 菏泽市| 望谟县| 新野县| 武宣县| 密云县| 夏津县| 酒泉市|