找别人做网站要考虑哪些,如何seo推广工厂店,北京网站建设中企云达,中考网络应用服务平台为什么80%的码农都做不了架构师#xff1f; 【功能】 按指定的目录查找出文件#xff0c;如果有子目录#xff0c;子目录也将进行搜索#xff0c;将其中的文件内容进行替换。 【缺陷】 1. 没有过滤出文本文件 2. 当文件过大时#xff0c;效率不高 【代码】… 为什么80%的码农都做不了架构师 【功能】 按指定的目录查找出文件如果有子目录子目录也将进行搜索将其中的文件内容进行替换。 【缺陷】 1. 没有过滤出文本文件 2. 当文件过大时效率不高 【代码】 package mainimport (flagfmtio/ioutilospath/filepathstrings
)type ReplaceHelper struct {Root string //根目录OldText string //需要替换的文本NewText string //新的文本
}func (h *ReplaceHelper) DoWrok() error {return filepath.Walk(h.Root, h.walkCallback)}func (h ReplaceHelper) walkCallback(path string, f os.FileInfo, err error) error {if err ! nil {return err}if f nil {return nil}if f.IsDir() {//fmt.Pringln(DIR:,path)return nil}//文件类型需要进行过滤buf, err : ioutil.ReadFile(path)if err ! nil {//errreturn err}content : string(buf)//替换newContent : strings.Replace(content, h.OldText, h.NewText, -1)//重新写入ioutil.WriteFile(path, []byte(newContent), 0)return err
}func main() {flag.Parse()helper : ReplaceHelper{Root: flag.Arg(0),OldText: flag.Arg(1),NewText: flag.Arg(2),}err : helper.DoWrok()if err nil {fmt.Println(done!)} else {fmt.Println(error:, err.Error())}
} 转载于:https://my.oschina.net/howdo/blog/481273