golang语言有哪些不足?
▍golang语言有哪些不足?
学习使用Golang已经快两年了,Golang最大的特色就是支持协程。现在Golang越来越多地被用于构建高性能应用,这是其中的原因之一。
使用Golang处理异步任务非常方便,只需要一个go关键词和一个方法即可,如下:
go 方法()
Golang也有很多明显的不足之处,其中第一个是错误、异常处理麻烦,且不能跨协程捕获异常。在Golang中,你要针对每一个协程的异常进行单独处理,判断是否存在错误你需要使用很多像 err != nil 这样的语句。
第二个是没有一个比较成熟且好用的框架。在Golang中,很多框架基本都是半成品,你不能像使用PHP中的Laravel,Java中的Spring一样拿来直接就用,你需要做很多基础性的工作。
第三个是对OOP编程不太友好。在Golang中没有类的概念,如果你想实现类的效果你只能借助struct结构体或type类型实现。
第四个是没有一个统一的代码归档标准。你可以看到很多项目有着自己不同的风格,比如,有MVC风格的,也有函数式编程的风格。所以这样你在阅读不同项目代码时,会发现非常吃力。
Golang是一个新兴的语言,还有很多不成熟的地方,以上几点也只是我在平时的开发工作中的一点小体会。你自己感觉如何,可能也只能等你自己亲自使用后才明白。
▍golang语言有哪些不足?
异常处理;
以及一些语法糖没有,比如三目运算不支持,if...else...即便是单行也要大括号;
常见函数式编程func没有官方库实现,比如你写惯了py会有map,filter等函数式的实现,但是go没有,需要你自己写...;
1.18版本引入泛型后实现不够优雅,那一个个的方括号,你再弄两个数据切片啥的入参和返回值,你的函数名就和shell正则表达式一样,可读性体验简直糟糕透顶!
go root的设定倍受吐槽...
▍golang语言有哪些不足?
语法什么的都可以接受。现在最不能接受的是:模块以二进制包形式发布时,.a文件兼容性很差,居然挑版本,挑小版本!逼着我发布源代码。这点对专业软件开发商很不友好。
▍golang语言有哪些不足?
没有泛型:Go不支持泛型编程。这意味着在Go中,你无法使用单个函数或类型来处理多种不同类型的数据。这可能会使代码的重复性增加,并且难以维护。没有继承:Go没有继承的概念。这意味着你无法使用Go来创建类,并使用类之间的继承关系来重用代码。没有指针运算:Go没有指针运算,这意味着你无法在Go中直接操作指针。这可能会使得一些底层的操作变得困难,并且限制了Go的能力。效率低下:Go的运行效率通常比其他编译型语言低。这意味着Go程序在执行时可能会慢一些,特别是在需要高性能的情况下。错误处理方式繁琐:Go的错误处理方式可能会对一些开发人员来说有些繁琐。在Go中,你必须显式地检查函数的返回值,如果它表示一个错误,则必须显式地处理它。这可能会使代码变得臃肿,并且难以维护。异常处理缺失:Go没有异常处理的概念。这意味着你无法使用Go的try-catch机制来捕获和处理运行时错误。这可能会使程序的错误处理变得复杂,并且难以调试。没有枚举类型:Go没有枚举类型的概念。这意味着你无法使用Go来创建一组预定义的常量,并使用它们来表示特定的值。这可能会使程序的代码变得混乱,并且难以维护。没有函数重载:Go没有函数重载的概念。这意味着你无法在Go中使用同一个函数名,但是使用不同的参数列表来实现不同的功能。这可能会使程序的代码变得复杂,并且难以维护。没有类:Go没有类的概念。这意味着你无法在Go中使用类来封装数据和行为。这可能会使程序的代码变得复杂,并且难以维护。没有命名空间:Go没有命名空间的概念。这意味着你无法在Go中使用命名空间来隔离不同的代码段,以防止命名冲突。这可能会使程序的代码变得混乱,并且难以维护。
------------------
推荐阅读:
把100头东北虎放进非洲大草原,100年后大草原会有哪些变化?
上一篇:你遇见过哪些颜值很高的路人?
下一篇: 你相信天意吗?