Go 是互联网时代的C语言

栏目: Ruby · 发布时间: 6年前

内容简介:原本2018年春节就应该好好学一下Go语言的,一直拖到今天。有点对不起一位前公司的老朋友Steve涛。Go = C语言 + OOP。或是Go = C语言 + python。Golang就是在几十年不变的经典C语言基础上,增加了封装性和并发性。特别是增加了字典和列表类型的处理。

原本2018年春节就应该好好学一下 Go 语言的,一直拖到今天。有点对不起一位前公司的老朋友Steve涛。

Go = C语言 + OOP。或是Go = C语言 + python。Golang就是在几十年不变的经典 C语言 基础上,增加了封装性和并发性。

特别是增加了字典和列表类型的处理。

Go 一般比 Python 要快 30 倍??这个要看如何对比。

Go 使用起来异常快速并且简单。其唯一的创新之处是 goroutines 和通道。Goroutines 是 Go 面向线程的轻量级方法,而通道是 goroutines

之间通信的优先方式。

Go 引入的新概念是「defer」声明,以及内置的带有 goroutines 和通道的并发性管理。正是由于 Go 的简单性,任何的 Python、Elixir、C

++、Scala 或者 Java 开发者皆可在一月内组建成一个高效的 Go 团队。

学习python/django我用了6个月才完全掌握。是不是太慢了?学习Go的话,一个月可以吗?

使用 Go 语言的缺点

缺点 1:缺少框架

Go 语言没有一个主要的框架,如 Ruby 的 Rails 框架、Python 的 Django 框架或 PHP 的 Laravel。这是 Go 语言社区激烈讨论的问题,因

为许多人认为我们不应该从使用框架开始。在很多案例情况中确实如此,但如果只是希望构建一个简单的 CRUD API,那么使用 Django/DJRF、

Rails Laravel 或 Phoenix 将简单地多。

缺点 2:错误处理

Go 语言通过函数和预期的调用代码简单地返回错误(或返回调用堆栈)而帮助开发者处理编译报错。虽然这种方法是有效的,但很容易丢失错误发

生的范围,因此我们也很难向用户提供有意义的错误信息。错误包(errors package)可以允许我们添加返回错误的上下文和堆栈追踪而解决该问

题。

另一个问题是我们可能会忘记处理报错。诸如 errcheck 和 megacheck 等静态分析 工具 可以避免出现这些失误。虽然这些解决方案十分有效,

但可能并不是那么正确的方法。

缺点 3:软件包管理

Go 语言的软件包管理绝对不是完美的。默认情况下,它没有办法制定特定版本的依赖库,也无法创建可复写的 builds。相比之下 Python、

Node 和 Ruby 都有更好的软件包管理系统。然而通过正确的工具,Go 语言的软件包管理也可以表现得不错。

liteIDE可以在保存时自动格式化代码,看上去代码不象C语言那么乱了,真是棒!


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

PWA实战

PWA实战

[美]Dean Alan Hume / 郑丰彧 / 电子工业出版社 / 2018-6 / 69

Progressive Web App(PWA)是由谷歌提出的一整套技术解决方案,它致力于为 Web 提供出色的用户体验,并完美体现了渐进增强原则。作为为数不多的实战入门用书,《PWA 实战:面向下一代的Progressive Web App》旨在通过大量清晰示例来介绍 PWA 的主要特性。全书一共由五个部分组成:第一部分介绍 PWA 的概念及解锁 PWA 应用的关键—Service Worker......一起来看看 《PWA实战》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

html转js在线工具
html转js在线工具

html转js在线工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具