尝试通过预处理解决 Go 的 `if err != nil {...}` 问题
https://github.com/lance6716/errhell
输入:
package main
func main() {
returnErr().try
}
func returnErr() error {
return nil
}
输出:
package main
func main() {
_err0 := returnErr()
if _err0 != nil {
return
}
}
func returnErr() error {
return nil
}
我是期望完成类似 gofmt 一样的程序,让 IDE 调用从而方便生成 if err != nil {...}
。当然如果 IDE 甚至 go 自己做的话,解析类型系统更好,生成的代码也会更好。
求 PR
----------------------- 以下是精选回复-----------------------
答:没高亮,没补全。。。
而且 codegen 我个人不太喜欢,总感觉是抢编译器的活
答:要是有类似 C++ 的宏就好了,虽然我写 C++ 的时候也从来不用 exception ,但是因为有宏,写起来不会这么恶心
答:mark 一下,说不定若干年以后这就是 go++ 的起源(
答:建议使用 Goland, 输入可以快捷自动补全,显示时可以精简显示,很美观。
答:或者和 rust 一样,加个问号向上抛?
答:go 本来就有类似 try catch 的写法 为什么要创造这种无用的东西呢
0条评论