go语言相关资料

Go 语言教程

Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。

Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。

Go 语言特色

简洁、快速、安全 并行、有趣、开源 内存管理、v数组安全、编译迅速

计算机软件经历了数十年的发展,形成了多种学术流派,有面向过程编程、面向对象编程、函数式编程、面向消息编程等,这些思想究竟孰优孰劣,众说纷纭。

除了OOP外,近年出现了一些小众的编程哲学,Go语言对这些思想亦有所吸收。例如,Go语言接受了函数式编程的一些想法,支持匿名函数与闭包。再如,Go语言接受了以Erlang语言为代表的面向消息编程思想,支持goroutine和通道,并推荐使用消息而不是共享内存来进行并发编程。总体来说,Go语言是一个非常现代化的语言,精小但非常强大。

Go 语言最主要的特性:

  • 自动垃圾回收
  • 更丰富的内置类型
  • 函数多返回值
  • 错误处理
  • 匿名函数和闭包
  • 类型和接口
  • 并发编程
  • 反射
  • 语言交互性

Go 语言用途

Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。

对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了。

Go语言环境安装

可以参考菜鸟教程的Go 语言环境安装 Go 语言支持以下系统:

如果打不开可以使用这个地址:https://golang.google.cn/dl/

各个系统对应的包名:

操作系统

包名

Windows

go1.14.3.windows-amd64.msi

Linux

go1.14.3.linux-amd64.tar.gz

Mac

go1.14.3.darwin-amd64.pkg

Source

go1.14.3.src.tar.gz

UNIX/Linux/Mac OS X 安装 go

以下介绍了在UNIX/Linux/Mac OS X系统下使用源码安装方法:

1、下载二进制包:go1.14.3.linux-amd64.tar.gz

2、将下载的二进制包解压至 /usr/local目录。

tar -C /usr/local -xzf go1.14.3.linux-amd64.tar.gz

3、将 /usr/local/go/bin 目录添加至PATH环境变量:

export PATH=$PATH:/usr/local/go/bin

Windows 系统下安装 go

Windows 下可以使用 .msi 后缀(在下载列表中可以找到该文件,如go1.14.3.windows-amd64.msi)的安装包来安装。

默认情况下 .msi 文件会安装在 c:\Go 目录下。你可以将 c:\Go\bin 目录添加到 Path 环境变量中。添加后你需要重启命令窗口才能生效。

第一个 Go 程序

接下来我们来编写第一个 Go 程序 hello.go(Go 语言源文件的扩展是 .go),代码如下:

实例

package main

 import "fmt"

 func main() {
     fmt.Println("Hello, World!")
 }

执行以上代码输出

$ go run hello.go 
Hello, World!

go语言相关学习资料

go语言的相关视频

GO语言学习资源整理

首推 Go by Example作为你的入门教程。然后,Go 101也是一个很不错的在线电子书。如果你想看纸书的话,The Go Programming Language 一书在豆瓣上有 9.2 分,但是国内没有卖的。

另外,Go 语言官方的 Effective Go 是必读的,这篇文章告诉你如何更好地使用 Go 语言,以及 Go 语言中的一些原理。

Go 语言最突出之处是并发编程,Unix 老牌黑客罗勃·派克(Rob Pike)在 Google I/O 上的两个分享,可以让你学习到一些并发编程的模式。

Go Concurrency Patterns( 幻灯片演讲视频)。 Advanced Go Concurrency Patterns(幻灯片演讲视频)。 然后,Go 在 GitHub 的 wiki 上有好多不错的学习资源,你可以从中学习到多。比如:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Go 开发者路线图

    在下边有一个路线图,如果你想要成为一名Go语言的开发者的话,你可以沿着这张图里面的路径去学习,里面记录了一些你可能也想学习的库。当你问到:”我想成为一名Go语言...

    ccf19881030
  • The Algorithms

    在Github上面看到一个印度人维护的关于算法的项目The Algorithms,里面有各种主流语言如C++、C、Java、C#、Python、PHP、Go、J...

    ccf19881030
  • Go by Example 中文:使用函数自定义排序

    有时候我们想使用和集合的自然排序不同的方法对集合进行排序。例如,我们想按照字母的长度而不是首字母顺序对字符串排序。这里是一个 Go 自定义排序的例子。

    ccf19881030
  • Google 关于 Go 2 的讨论

    在本周召开的GopherCon 2017上,Google Go的技术负责人Russ Cox做了关于Go的未来的主旨演讲,请社区就该语言的下一个主要版本应该包含哪...

    Debian社区
  • 程序员技术选型:写Go还是Java?

    本文作者根据自己的使用体验,详细对比了 Go 和 Java 的使用差异,给了开发者们一个中肯的选用参考。

    深度学习与Python
  • 一、Go语言由来与关键时间线

    1、Go于2009年11月正式宣布推出,成为开放源代码项目。 2、在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃...

    cn華少
  • Go初学者资料必看

    《Go 编程基础》是一套针对 Google 出品的 Go 语言的视频语音教程,主要面向 Go 语言新手级别的学习者。

    公众号guangcity
  • 【从零开始学习Go语言】一.初识Go语言

    Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。

    一只特立独行的兔先生
  • 【从零开始学习Go语言】一.初识Go语言

    Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。

    一只特立独行的兔先生
  • 想学新的编程语言?考虑下Go吧

    【导读】快速的运行时、高效的并发、简单易学的语法,这些都是Go语言最吸引人的特性。

    AI科技大本营

扫码关注云+社区

领取腾讯云代金券