日记大全

日记大全 > 句子大全

go语言好不好 可以用来做什么(如何学好golang)

句子大全 2008-01-14 19:51:45
相关推荐

Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。

Golang的创建者Rob Pike说:“Go项目致力于解决Google软件开发缓慢和笨拙的问题,从而使该过程更高效和更具可扩展性。该语言是由编写、阅读、调试和维护大型软件系统的人所设计,这也是为他们自己所设计的。”这就是说,设计Go时,有一系列特殊的问题要解决,最初拥有C、Pascal、Modula和Oberon等高级编程语言的最佳特性的坚实基础。它还牢记了Python、C++、Java等语言的有用特性,这些就是Go要解决的问题。

“很多Go的新人都会要求从所知的语言中获取功能。但这些特性并不属于Go——而且语言是固定的。给Go添加功能不会让它变得更好,只是让它变得更大。这将使Go因少了点不同而变得不那么有趣。”在2016年,Go被软件评价公司TIOBE 选为“TIOBE 2016 年最佳语言”

无论如何,Go并不是最快的编程语言,Rust、Julia、C++和C会更快。但这些语言都没有GC,因此它们没有Go那么简单,其实也没有比Go快多少。现在已知Go有一些特性。它也很容易使用,速度快,生产力高。但它可以应用在哪里从而提高工作效率呢?到底能用Go来做什么?

· 本地云web服务开发,特别是微服务的使用:Go kit、Micro、Gizmo、Kite、Goa、Caddy等等。

· 使用 Gin、Martini、Revel、Gorilla、Beego等开发REST API。

· 使用 gRPC、Twirp、Spiral、Gorilla开发RPC API。

· GraphQL API开发 graphql-go、gqlgen、thunder。

· 使用Serverless框架 Serverless Framework、Google Cloud Functions、Sparta、Gordon进行无服务器功能开发。

· 使用 Hugo、Vugu、TinyGo、Vecty进行Web UI开发(WebAssembly)。

· 使用 Gobot、Mainflux、TinyGo、EMBD进行机器人、物联网和嵌入式开发。

· 使用Cobra、cli开发CLI 应用程序。

· 使用 GoLearn、Gorgonia进行机器学习和AI开发。

还有一些不是特别明显的例子:

· 使用 gomobile开发移动应用

· 使用 Lorca、Wails、Fyne开发桌面应用

· 使用 Ebiten、Pixel、G3N进行游戏开发

· 为Discord、Telegram、Slack、more开发聊天机器人

· Blockchain 区块链开发

从上面的举例可以看出,目前Golang的应用范围显然更多的是面向云、网络和系统编程。最后,go语言的特色应用创建者的话“与大多数其他的语言不同,Go有一个基本的权衡,即:你想要什么,更有趣的语言,还是更容易运行和维护的语言?”

怎样才能学好go语言?

首先,推荐 Go 语言圣经《 The Go Programming Language 》 ,每个知识点都有示例,还有练习题。具体查看下面的京东官方详情页:

当然,也可以看 Golang 官网的教程和资料,比如 Go tour 、effective go,然后,就是多实践。这些可以多看一些开源项目或者慕课相关教学案例。

阅读剩余内容
网友评论
相关内容
拓展阅读
最近更新