内容简介:原本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语言那么乱了,真是棒!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 码云周刊 | Go :互联网时代的 C 语言!
- 是谁撬动了互联网的世界?全球十大受欢迎编程语言专家
- Erlang 开源 20 周年:这门编程语言见证了互联网的技术成长
- 互联网是谁的互联网?
- 互联网之父:互联网有两个与生俱来的问题
- 『互联网架构』软件架构-解密电商系统-互联网BAT商品详情缓存架构(82)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。