最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

go語言文件正則表達式搜索功能示例

 更新時間:2017年01月18日 11:59:49   作者:aotian16  
這篇文章主要介紹了go語言文件正則表達式搜索功能,涉及Go語言文件目錄的遍歷及正則操作相關(guān)技巧,需要的朋友可以參考下

本文實例講述了go語言文件正則表達式搜索功能。分享給大家供大家參考,具體如下:

復制代碼 代碼如下:
package main
import (
    "fmt"
    "os"
    "path/filepath"
    "regexp"
)
func main() {
    // 命令行參數(shù)
    args := os.Args
    // 檢查參數(shù)
    if len(args) == 1 {
        fmt.Println("ff is a file find tool. use like bottom")
        fmt.Println("ff [dir] [regexp]")
        return
    }
    if len(args) < 3 {
        fmt.Println("args < 3")
        return
    }
    fileName := args[1]
    pattern := args[2]
    file, err := os.Open(fileName)
    if err != nil {
        fmt.Println(err)
        return
    }
    fi, err := file.Stat()
    if err != nil {
        fmt.Println(err)
        return
    }
    if !fi.IsDir() {
        fmt.Println(fileName, " is not a dir")
    }
    reg, err := regexp.Compile(pattern)
    if err != nil {
        fmt.Println(err)
        return
    }
    // 遍歷目錄
    filepath.Walk(fileName,
        func(path string, f os.FileInfo, err error) error {
            if err != nil {
                fmt.Println(err)
                return err
            }
            if f.IsDir() {
                return nil
            }
            // 匹配目錄
            matched := reg.MatchString(f.Name())
            if matched {
                fmt.Println(path)
            }
            return nil
        })
}

PS:這里再為大家提供2款非常方便的正則表達式工具供大家參考使用:

JavaScript正則表達式在線測試工具:
http://tools.jb51.net/regex/javascript

正則表達式在線生成工具:
http://tools.jb51.net/regex/create_reg

希望本文所述對大家Go語言程序設(shè)計有所幫助。

相關(guān)文章

  • GoZero中make后返回數(shù)據(jù)與原數(shù)據(jù)不對齊的幾種解決方案

    GoZero中make后返回數(shù)據(jù)與原數(shù)據(jù)不對齊的幾種解決方案

    在Go語言中,make是用來創(chuàng)建切片、映射(map)和通道(channel)的內(nèi)建函數(shù),但是,在使用 make 創(chuàng)建切片時,若不理解如何正確使用其返回值,可能會遇到數(shù)據(jù)對不上或結(jié)果不符合預期的情況,本文將分析在GoZero或其他基于Go的應用中,使用make時可能導致的問題及解決方案
    2025-01-01
  • golang中連接mysql數(shù)據(jù)庫

    golang中連接mysql數(shù)據(jù)庫

    這篇文章主要介紹了golang中連接mysql數(shù)據(jù)庫的步驟,幫助大家更好的理解和學習go語言,感興趣的朋友可以了解下
    2020-12-12
  • Go語言JSON編解碼神器之marshal的運用

    Go語言JSON編解碼神器之marshal的運用

    這篇文章主要為大家詳細介紹了Go語言中JSON編解碼神器——marshal的運用,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-09-09
  • go內(nèi)存緩存如何new一個bigcache對象示例詳解

    go內(nèi)存緩存如何new一個bigcache對象示例詳解

    這篇文章主要為大家介紹了go內(nèi)存緩存如何new一個bigcache對象示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • 理解Golang中的數(shù)組(array)、切片(slice)和map

    理解Golang中的數(shù)組(array)、切片(slice)和map

    這篇文章主要介紹了理解Golang中的數(shù)組(array)、切片(slice)和map,本文先是給出代碼,然后一一分解,并給出一張內(nèi)圖加深理解,需要的朋友可以參考下
    2014-10-10
  • Golang優(yōu)雅保持main函數(shù)不退出的辦法

    Golang優(yōu)雅保持main函數(shù)不退出的辦法

    很多時候我們需要讓main函數(shù)不退出,讓它在后臺一直執(zhí)行,下面這篇文章主要給大家介紹了關(guān)于Golang優(yōu)雅保持main函數(shù)不退出的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • Go語言中轉(zhuǎn)換JSON數(shù)據(jù)簡單例子

    Go語言中轉(zhuǎn)換JSON數(shù)據(jù)簡單例子

    這篇文章主要介紹了Go語言中轉(zhuǎn)換JSON數(shù)據(jù)簡單例子,本文先定義了一個結(jié)構(gòu)體,然后把JSON綁定到結(jié)構(gòu)體上實現(xiàn)讀取,需要的朋友可以參考下
    2014-10-10
  • GO中GORM 使用教程

    GO中GORM 使用教程

    GORM是Go語言的ORM庫,它將關(guān)系型數(shù)據(jù)庫表與Go語言結(jié)構(gòu)體映射,提供便捷的數(shù)據(jù)庫操作,本文就來介紹有下GO中GORM 使用教程,具有一定的參考價值,感興趣的可以了解一下
    2025-02-02
  • golang 中的 nil的場景分析

    golang 中的 nil的場景分析

    這篇文章主要介紹了golang 中的 nil,本文通過多種場景分析給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • go 如何修改postgresql的配置參數(shù)

    go 如何修改postgresql的配置參數(shù)

    這篇文章主要介紹了go 如何修改postgresql的配置參數(shù),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01

最新評論

岳池县| 沙洋县| 龙里县| 罗平县| 雷波县| 迭部县| 曲麻莱县| 乌苏市| 萨迦县| 金乡县| 辽中县| 苍梧县| 陇川县| 滦平县| 扎赉特旗| 潜江市| 武宣县| 县级市| 正宁县| 河南省| 建阳市| 五指山市| 独山县| 花垣县| 柳江县| 闽侯县| 抚州市| 临沭县| 兰坪| 拉孜县| 安丘市| 鱼台县| 长治县| 五华县| 浮山县| 天柱县| 福清市| 治多县| 砀山县| 瓮安县| 乌兰浩特市|