尝试通过预处理解决 Go 的 `if err != nil {...}` 问题

尝试通过预处理解决 Go 的 `if err != nil {...}` 问题,第1张

尝试通过预处理解决 Go 的 `if err != nil {...}` 问题,第2张

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 的写法 为什么要创造这种无用的东西呢

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 尝试通过预处理解决 Go 的 `if err != nil {...}` 问题

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情