Go is still not good
9 months ago
- #Programming
- #GoLang
- #Critique
- Go的错误变量作用域不必要地过于宽泛,这使得代码更难阅读和调试。
- Go存在两种nil类型,这会导致令人困惑的行为和比较结果。
- Go通过注释实现条件编译的方式被批评为不切实际。
- Go中的`append`函数由于切片所有权未明确定义,可能导致意外行为。
- 与其他语言的RAII机制相比,Go的`defer`机制被视为更劣质,使资源管理复杂化。
- Go的标准库会吞没异常,迫使程序员在没有适当支持的情况下编写异常安全代码。
- Go对非UTF-8数据的处理存在问题,可能导致数据无声丢失。
- Go的内存管理可能效率低下,垃圾回收器的行为并不总是可预测的。
- 文章批评Go在设计语言时忽视了既定的最佳实践。