Closed. This question is opinion-based。它当前不接受答案。
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
6年前关闭。
Improve this question
我打算像pylint一样在Golang上进行一些程序分析,试图从源代码中查找问题。所以我要问的第一个问题是:
Go语言中常见的常见陷阱有哪些?
我知道Python中有一些,例如数组变量'[]'作为参数,以及可变对象与不可变对象。 (请参阅更多here和there)。
范例1:
范例2:
所以我真正想知道的是Golang中的类似内容。我已经在网上搜索,但找不到。我还回顾了一些git存储库的历史记录(例如docker.io),但无法获取典型的历史记录。您能否提供一些示例,例如内存泄漏,并发,意外结果和误解。
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
6年前关闭。
Improve this question
我打算像pylint一样在Golang上进行一些程序分析,试图从源代码中查找问题。所以我要问的第一个问题是:
Go语言中常见的常见陷阱有哪些?
我知道Python中有一些,例如数组变量'[]'作为参数,以及可变对象与不可变对象。 (请参阅更多here和there)。
范例1:
>>> def spam(eggs=[]):
... eggs.append("spam")
... return eggs
...
>>> spam()
['spam']
>>> spam()
['spam', 'spam']
>>> spam()
['spam', 'spam', 'spam']
>>> spam()
['spam', 'spam', 'spam', 'spam']
范例2:
Map<Person, String> map = ...
Person p = new Person();
map.put(p, "Hey, there!");
p.setName("Daniel");
map.get(p); // => null
所以我真正想知道的是Golang中的类似内容。我已经在网上搜索,但找不到。我还回顾了一些git存储库的历史记录(例如docker.io),但无法获取典型的历史记录。您能否提供一些示例,例如内存泄漏,并发,意外结果和误解。
最佳答案
Golint是Go源代码的基础。
10-04 22:49