GG修改器破解版下载地址:https://ghb2023zs.bj.bcebos.com/gg/xgq/ggxgq?GGXGQ
大家好,今天小编为大家分享关于gg修改器搜索中文_新版gg修改器文本搜索的内容,赶快来一起来看看吧。
我是如何为一项琐碎的工作任务创建一个简单的工具的,你也可以
上周我开始玩 GoLang,它是一种由 Google 制作的类 C 编译语言,非常轻量和快速,事实上它经常在 Techempower 的基准测试中名列前茅,虽然是非常类 C 的语法,但它确实使用GC 用于内存清理,因此非常适合简单的应用程序。
Go 非常熟悉和容易上手,它让我从头开始学习这门语言,并在 6 天内开发了一个简单的 CLI 应用程序,在我写这篇文章的时候,我还不是这门语言的专家,但我仍然觉得很有信心开始用 Go 开发任何东西。
最后,这不是关于如何使用该语言的教程(go 官方网站上有很多,选择你的口味,它们都很棒),相反,我想概述一下该语言的易用性和实用性,此外,如果您只是离开该语言的教程阶段并想开始实际开发它,那么为什么不像我一样做它并选择一些您想要自动化/实现的任务。
任务
巧合的是,我在业余时间学习 Go 的那一周,工作中有一个不寻常的任务,TL;DR 版本是,有一个包含其他子目录和多个文件的目录,其中一些文件没有 有扩展名,其中一些有一些自定义扩展名(如 .whatever),对于这些情况,我需要将文件扩展名更改为 .txt 或其他已知的文本文件格式。
问题是有数百个文件,因此手动更改它们将是很多工作,替代方法是使用 bash 脚本来做到这一点,我很确定我可以在 bash 中找到一个工具 几个小时。
那为什么要为此制作自定义工具呢?我发现尝试用一种语言解决现实世界的问题是巩固所学知识的绝佳机会,它甚至可以超越您的需求,在我的情况下,我可以制作一些可以在 CLI 中使用自定义参数调用的东西,打印彩色文本,实时显示更改的文件等……
实施
每个 Go 项目都从一个包含 main.go 脚本和 go.mod 文件的文件夹开始,确保您可以在 main.go 脚本中打印 Hello World。
之后,这个工具存在的主要原因是为了改变文件扩展名,所以我只用了 1 次谷歌搜索就找到了 OS 包,在 Go 中,就像大多数语言一样,你可以导入外部库来帮助你的开发,一些这些库中的一个是标准库,是通用内置功能的花哨术语。
具体而言,OS 模块是您将用于任何类型的操作系统交互的东西,例如创建文件、更改文件、执行进程等……
从 OS 模块中的可用方法中,有一个很突出,这正是我需要的,可以更改文件的名称,因为扩展名附加在名称的末尾,我可以更改该部分。
func Rename(oldpath, newpath string) error
从调用此方法的参数来看,它需要带有文件名和扩展名的原始路径(示例:/Users/Me/TestFile.img)和相同的字符串,只是文件名已更改。
然后下一步将是有一些东西可以递归地遍历目录及其子目录,获取文件名以检查它是否需要更改,以及是否调用重命名函数。
func WalkDir(root string, fn fs.WalkDirFunc) error
下面的方法属于文件路径模块,它处理所有路径明智的,这个方法走一个由根字符串指定的路径,并在遇到的每个文件和目录中回调 WalkDirFunc,我只需要一种方法来过滤什么是 文件和什么是子目录
这是我想出的
if info.IsDir() == false {
applyExtensionChange(path, newExt, whitelist, info)
}
info 是当前节点的信息,我们用 IsDir() 判断是否是目录,false 表示是文件,所以我们应用上面的扩展名更改逻辑。
唯一的问题是这个逻辑现在将所有文件都更改为新的扩展名,这不是我想要的。
type Whitelist map[string]bool
就像在 C 中一样,您可以在另一个名称下定义一个众所周知的类型,在这种情况下,我使用带有字符串(文件扩展名)的哈希映射作为键,如果要更改文件扩展名,则返回布尔值,现在是 称为白名单,一个更合适的名称,只需检查白名单是否包含当前文件的文件类型,如果包含,那么我只需更改它。
if whitelist[filepath.Ext(path)] == false {
return
}
//Proceed with renaming logic
一些重构
type ExtChangeJob struct {
Path string
NewExtensionType string
Whitelist Whitelist
}
最基本的实现已经完成,它遍历路径并根据白名单更改文件类型。
是时候开始组织代码了,第一部分是引入一个结构来保存更改扩展任务的细节,这将更容易将信息传递给链中的方法。
参数解析
Flag 模块是另一个用于处理命令行参数的标准库模块。 让这个工具在其他情况下可重用会很好,因此我需要一种动态指定自定义路径、白名单和扩展类型的方法。
最简单的方法是通过命令行界面 (CLI),通过标志,CLI 中的每个命令都可以有额外的参数来改变功能,因此如果我要在终端上运行这个程序,我可以指定路径,如 所以。
file-extension-changer -path=User/Me/TestDir
func flag.String(name string, value string, usage string) *string
上面的方法允许从调用的动作中获取标志参数,它返回我正在寻找的字符串,只需要调用一个额外的方法来解析参数
func flag.Parse()
奖励:彩色文本
实现此功能所需的所有功能都已实现,但是我们可以更进一步并使其更整洁,因为该工具会记录所有更改的文件和终端中的路径,为打印的文本着色不是很好吗? 这样一来,您就可以快速查看正在更改的内容以及经过的路径。
GO 的另一个很酷的功能是向项目中添加外部代码是多么容易,通过快速浏览一些流行的 GitHub 存储库,我发现了这个可以让我更改打印文本颜色,只需简单地将其导入项目中 将该行添加到项目 mod 文件中
require //go-colortext v1.0.0
之后,一个简单的 GO 构建命令就足以让它下载到您的本地机器中,允许您将其引用到任何文件的导入部分以使用它。
import “//go-colortext”
Go auto 为所有包生成文档网页,这有多酷? 您可以免费获得这个,而在其他语言中,您通常必须设置一个外部服务来为您生成这个。
自己看一下
func ChangeColor(fg Color, fgBright bool, bg Color, bgBright bool)
这是更改所有以下输出颜色的包函数,我只是在每个日志之前调用它,为适当的信息设置正确的颜色。
随时留下任何注释或建议。 谢谢阅读! 希望它和我分享它一样充实。
以上就是关于gg修改器搜索中文_新版gg修改器文本搜索的全部内容,感谢大家的浏览观看,如果你喜欢本站的文章可以CTRL+D收藏哦。
gg修改器中文如何修改_gg中文版修改器 大小:18.01MB5,386人安装 大家好,今天小编为大家分享关于gg修改器中文如何修改_gg中文版修改器的内容,赶快……
下载gg修改器无root板_gg修改器无root安装使用方法 大小:8.98MB5,417人安装 大家好,今天小编为大家分享关于gg修改器无root板_gg修改器无root安装使用方法的内……
下载gg修改器传说之下下载中文,gg修改器传说之下下载中文:超越游戏限制,畅享无尽乐趣 大小:13.06MB4,111人安装 在游戏中难免会遇到诸如装备不足、难以通过关卡等限制,而gg修改器传说之下下载中文……
下载gg修改器root获取华为,感受 gg修改器root带来的华为手机升级体验 大小:12.77MB4,424人安装 作为一名Android手机用户,我们都知道华为是一个非常强大的品牌,而gg修改器root能……
下载gg修改器怎么选择无root,GG修改器如何选择无root版 大小:9.32MB4,282人安装 随着游戏的普及,作为玩家的我们总是希望可以在游戏中获得更好的体验。然而,在游戏……
下载gg修改器最新版下载6,令人爱不释手的强大工具- gg修改器最新版下载6 大小:10.59MB4,350人安装 如果你是一个游戏爱好者,那么你一定会碰到一些需要修改的游戏,比如升级难度太大、……
下载如何打开gg修改器的Root权限,gg修改器如何root权限 大小:13.02MB5,372人安装 教你手机无ROOT权限如何使用修改器 从早期的手机root系统->框架->再到虚拟机 ……
下载如何授权gg修改器的root_怎么授权gg修改器 大小:7.36MB5,418人安装 大家好,今天小编为大家分享关于如何授权gg修改器的root_怎么授权gg修改器的内容,……
下载元气骑士GG修改器下载,元气骑士gg修改器下载3.2.3 大小:18.70MB5,523人安装 首先进入齐骑士的游戏,让修改器在后台运行。 打开修改器,输入当前字符值,然后选……
下载gg修改器手机版怎么免root,gg修改器手机版怎么免root? 大小:4.00MB4,364人安装 gg修改器是一款能够帮助玩家在游戏中修改各种数值的工具,但是许多玩家因为手机没有……
下载