go - “去生成”多行命令
问题描述
我试图//go:generate
在编译我的代码之前使用运行外部工具,并且由于我需要传递一定数量的参数,所以该行变得相当长。
好像没有办法写多行go:generate
命令,对吗?有替代方法吗?
谢谢
解决方案
没有办法将 go generate 命令拆分为几行,但有一些提示。
如果您需要运行多个短命令,您可以像下面这样一个一个地编写它们。
//go:generate echo command A
//go:generate echo command B
//go:generate ls
您还应该知道没有 bash 脚本,而是原始命令。因此,以下工作并不像人们预期的那样。
//go:generate echo something | tr a-z A-Z > into_file
// result in "something | tr a-z A-Z > into_file"
对于长或复杂的命令,您应该使用从 go:generate 注释调用的单独脚本(或者可能是 go 程序)。
//go:generate sh generate.sh
//go:generate go run generator.go arg-A arg-B
在 generator.go 中你应该使用 build 标签来防止它与其他文件正常编译。
// +build ignore
package main
// ...
学习 Go 的最佳地点是 Go 资源:https ://github.com/golang/go/blob/master/src/runtime/runtime.go#L13
推荐阅读
- html - 如何在 WordPress 中让这些行彼此相邻?
- python - tkinter - 为什么会有像 bbox 这样的东西?
- python - Tensorflow:PartialTensorShape:合并期间不兼容的等级:2 vs. 1
- php - 调用未定义的函数 apcu_add()
- c# - 内联方法以提高性能,但在 C# 中执行速度较慢
- c# - 在数据网格中添加下拉列
- c# - 为 Safari 下载的文件名无法打印瑞典语字符
- kubernetes-ingress - 如何为gloo入口控制器设置超时
- oracle-apex - Oracle APEX 用户表
- c# - 为什么 AddLast 在 C# 链表中起作用?