当前位置:   article > 正文

Go语言详解

go语言

Go(The Google Programming Language)语言是谷歌2009年发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。Go支持面向对象,而且具有真正的闭包(closures)和反射 (reflection)等功能。

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

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

特色

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

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

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

Go 语言最主要的特性:

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

Go 语言用途

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

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

撰写风格

在Go中有几项规定,当不匹配以下规定时编译将会产生错误。

  1. 每行程序结束后不需要撰写分号

  2. 左大括号不能够换行放置

  3. if判断式和for循环不需要以小括号包覆起来。

Go亦有内置gofmt工具,能够自动整理代码多余的空白、变量名称对齐、并将对齐空格转换成Tab。

编译器

当前有两个Go编译器分支,分别为官方编译器gc(golang compile)和gccgo。官方编译器在初期使用C写成,后用Go重写从而实现自举。Gccgo是一个使用标准GCC作为后端的Go编译器

官方编译器支持跨平台编译(但不支持CGO),允许将源代码编译为可在目标系统、架构上执行的二进制文件。 

支持平台

硬件架构

Go语言设计支持主流的32位和64位的x86平台,同时也支持32位的ARM架构。

操作系统

Go语言在Go1版本上支持Windows, 苹果Mac OS X, Linux和FreeBSD操作系统。

Go 语言开发工具详细介绍


VSCode

VScode 安装教程参见:VScode 教程 | 菜鸟教程

然后我们打开 VSCode 的扩展(Ctrl+Shift+P):

搜索 go:

点击安装,安装完成后我们就可以使用代码提示、测试、调试等功能了。


GoLand

GoLand 是 Jetbrains 家族的 Go 语言 IDE,有 30 天的免费试用期。

安装也很简单访问 Goland 的下载页面,根据你当期的系统环境三大平台(Mac、Linux、Windows)下载对应的软件。


LiteIDE

LiteIDE 是一款开源、跨平台的轻量级 Go 语言集成开发环境(IDE)。

支持的 操作系统

  • Windows x86 (32-bit or 64-bit)
  • Linux x86 (32-bit or 64-bit)

下载地址 :liteide - Browse Files at SourceForge.net

源码地址 :https://github.com/visualfc/liteide


Eclipse

Eclipse 也是非常常用的开发利器,以下介绍如何使用 Eclipse 来编写 Go 程序。

Eclipse 编辑 Go 的主界面

  1. 首先下载并安装好 Eclipse
  2. 下载 goclipse 插件 https://github.com/GoClipse/goclipse/blob/latest/documentation/Installation.md#installation
  3. 下载 gocode,用于 go 的代码补全提示

    gocode 的 github 地址:

    https://github.com/nsf/gocode

    在 Windows下要安装 git,通常用 msysgit

    再在 cmd 下安装:

    go get -u github.com/nsf/gocode

    也可以下载代码,直接用 go build 来编译,会生成 gocode.exe

  4. 下载 MinGW 并按要求装好
  5. 配置插件

    Windows->Reference->Go

    (1)、配置 Go 的编译器

    设置 Go 的一些基础信息

    (2)、配置 Gocode(可选,代码补全),设置 Gocode 路径为之前生成的 gocode.exe 文件

    设置 gocode 信息

    (3)、配置 GDB(可选,做调试用),设置 GDB 路径为 MingW 安装目录下的 gdb.exe 文件

    设置 GDB 信息

  6. 测试是否成功

    新建一个 go 工程,再建立一个 hello.go。如下图:

    新建项目编辑文件

    调试如下(要在 console 中用输入命令来调试):

    图 1.16 调试 Go 程序

示例

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

hello.go 文件

  1. package main
  2. import "fmt"
  3. func main() {
  4.     fmt.Println("Hello, World!")
  5. }

要执行 Go 语言代码可以使用 go run 命令。

执行以上代码输出:

$ go run hello.go 
Hello, World!

此外我们还可以使用 go build 命令来编译生成二进制文件:

$ go build hello.go 
$ ls
hello    hello.go
$ ./hello 
Hello, World!

Go 语言环境安装

Go 语言支持以下系统:

  • Linux
  • FreeBSD
  • Mac OS X(也称为 Darwin)
  • Windows

安装包下载地址为:https://golang.org/dl/

如果打不开可以使用这个地址:Downloads - The Go Programming Language

各个系统对应的包名:

操作系统包名
Windowsgo1.4.windows-amd64.msi
Linuxgo1.4.linux-amd64.tar.gz
Macgo1.4.darwin-amd64-osx10.8.pkg
FreeBSDgo1.4.freebsd-amd64.tar.gz


UNIX/Linux/Mac OS X, 和 FreeBSD 安装

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

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

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

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

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

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

以上只能暂时添加 PATH,关闭终端下次再登录就没有了。

我们可以编辑 ~/.bash_profile 或者 /etc/profile,并将以下命令添加该文件的末尾,这样就永久生效了:

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

添加后需要执行:

source ~/.bash_profile
或
source /etc/profile

注意:MAC 系统下你可以使用 .pkg 结尾的安装包直接双击来完成安装,安装目录在 /usr/local/go/ 下。


Windows 系统下安装

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

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

安装测试

创建工作目录 C:\>Go_WorkSpace

test.go 文件代码:

  1. package main
  2. import "fmt"
  3. func main() {
  4.    fmt.Println("Hello, World!")
  5. }

使用 go 命令执行以上代码输出结果如下:

C:\Go_WorkSpace>go run test.go

Hello, World!
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/576567
推荐阅读
相关标签
  

闽ICP备14008679号