您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    你应该学 Go 的五个理由
    时间:2021-08-09 21:04 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    你应该学 Go 的五个理由

    没有java那么复杂的定义类、子类、各种 get 、set 办法。go 外面简直没有多余的代码,很少的代码就可以完成很复杂的功用。Rust 则是各种编译报错,关于初学者十分不友好。Go外面各种接口的笼统十分繁复,尤其是网络包的笼统。你可以觉失掉你编写的代码和Go库函数的代码高度分歧,这点很少有言语能做到。

    假设你还不置信,下面main外面的三行代码就可以启动一个文件效劳器。你还有什么理由不用Go。

    func main() { 

        router := httprouter.New() 

        router.NotFound = http.FileServer(http.Dir("data")) 

        _ = http.ListenAndServe(":80", router) 

    静态编译

    可以跨平台静态编译,在mac 上开发,然后编译出linux 二进制。这极大地提高了开发效率。关键是编译后的二进制也十分小,之前网上有测评,相反的一个函数 Go 编译完是3M ,而C# 则需求40M。

    没有JVM,速度快

    没有java的虚拟机的依赖,让部署变得愈加复杂。而且Go 比Python 速度要快。

    Go routines

    没有哪门言语的并发可以像Go 一样复杂,一个关键字 go 就可以启动一个协程。rust 外面的异步多线程 + 生命周期管理 无能翻一波顺序猿。java 外面则是玩各种线程池,完成runnable接口或许集成Thread 类,都比较复杂。

    云原生言语

    云原生这个词曾经火到不行了,云原生将会彻底改动软件的开发和交付方式。而云原生大部分项目都是采用Go言语,比如docker、k8s、harbor等,可以想象,Go开发者的待遇不会差!

    吐槽

    但写了多年的Go,最让我觉得Go设计得不太好的中央就是错误处置

    随处可见下面的错误处置,形成少量的代码冗余,团体愈加喜欢 Java 的try catch。

    if err != nil {  

    return val, err  

    【编辑引荐】

    世界超大的多言语语音数据集现已开源!超40万小时,共23种言语

    Go 提案:添加泛型版 Slices 和 Maps 新包

    RedMonk 编程言语排行:Java 和 Python 并列第二、Dart 初次进入前 20

    阿里巴巴发布处置决议:业务总裁和HRG引咎辞职 涉嫌男员工被解雇 永不录用

    初级:如何在 Linux Mint 上安装 Google Chrome

    (责任编辑:admin)