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

https://golang.org/dl/

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 上有好多不错的学习资源,你可以从中学习到多。比如:

猜你喜欢

转载自blog.csdn.net/ccf19881030/article/details/106206084