Go语言中常见的陷阱是什么?

时间:2014-01-23 01:09:01

标签: debugging go anti-patterns

我打算对Golang进行一些程序分析,就像pylint一样,尝试从源代码中查找问题。所以我需要问的第一个问题是:

  

Go语言中常见的常见缺陷是什么?

我知道Python中有一些,例如数组变量'[]'作为参数,以及可变对象和不可变对象。 (查看更多herethere)。

示例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),但无法获得典型的存储库历史记录。你能不能给我一些例子,如内存泄漏,并发性,意外结果和误解。

1 个答案:

答案 0 :(得分:4)

Golint是Go源代码的点缀。