Go 是互联网时代的C语言

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

内容简介:原本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语言那么乱了,真是棒!


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

查看所有标签

猜你喜欢:

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

编程之美

编程之美

《编程之美》小组 编 / 电子工业出版社 / 2008-3 / 40.00元

这本书收集了约60道算法和程序设计题目,这些题目大部分在近年的笔试、面试中出现过,或者是被微软员工热烈讨论过。作者试图从书中各种有趣的问题出发,引导读者发现问题,分析问题,解决问题,寻找更优的解法。本书的内容分为下面几个部分: (1)游戏之乐:从游戏和其他有趣问题出发,化繁为简,分析总结。 (2)数字之魅:编程的过程实际上就是和数字及字符打交道的过程。这一部分收集了一些好玩的对数字进行......一起来看看 《编程之美》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具