我们需要谈谈Go的缺点

我们需要谈谈Go的缺点

这是一个篇文章系列的第二部分。这是关于Go编程语言的缺点的故事,关于它使我们的生产力降低、我们的代码库变得不安全和不易维护的部分。以及对改进的提议。??

这个系列中的更多内容

为什么Go是最好的语言

我们需要谈谈Go的缺点

为Go更好的未来的提议

在前一篇文章的介绍中,我们提到了一个冲突—#乐享周末分享吧#Go有着坚决保持简单的倾向。尽管它有巨大的优势,但它阻止了Gophers的生产力提升。然后,我们讨论了这门语言的强大之处和使其独特的一切。在这篇文章中,我们将深入探讨并展示Go的问题面。如果你错过了前一篇,我建议回头看一下,因为它为即将到来的抱怨提供了重要的背景。准备好了吗?我们开始吧。命名空间污染和糟糕的命名

写Go代码一段时间后,你会开始注意到你通常很快就用完了合理的变量名。最初,这听起来像是一个表面问题,但实际上并不是。让我们从发生这种情况的原因开始说起。

缺乏可见性修饰符

命名空间污染的第一个根本原因是缺乏可见性修饰符。我认为为了减少冗余的关键词并增强简洁性,语言设计者决定省略可见性修饰符关键词(public、private等)以支持符号命名。以大写字母开头的符号自动被视为公共的,其余的则为私有的。这听起来像是一个促进简洁性的很好选择。但随着时间的推移,越来越明显的是,这种方法的缺点比优点更强烈:在大多数其他语言中,按照约定,类型名以大写字母开头,变量名以小写字母开头。这个约定有一个非常强大的含义—它意味着变量永远不会遮蔽类型。考虑以下Go代码:

typeuserstruct{namestring}funcmain(){user:=user{name:"John"}anotherUser:=user{name:"Jane"}//


转载请注明:http://www.aierlanlan.com/grrz/7428.html