Go 语言 在线

2125Go 语言结构

当前的调试部分可以使用 go run filename.go 来执行。

可以生成一个 build.sh 脚本,用于在指定位置产生已编译好的 可执文件:

#!/usr/bin/env bash

CURRENT_DIR=`pwd`
OLD_GO_PATH="$GOPATH"  #例如: /usr/local/go
OLD_GO_BIN="$GOBIN"    #例如: /usr/local/go/bin

export GOPATH="$CURRENT_DIR" 
export GOBIN="$CURRENT_DIR/bin"

#指定并整理当前的源码路径
gofmt -w src

go install test_hello

export GOPATH="$OLD_GO_PATH"
export GOBIN="$OLD_GO_BIN"

2124Go 语言环境安装

基于 Red Hat 的 Linux 发行版本都可以使用 yum 命令来进行安装:

sudo yum install golang

要查看当前系统安装的 Go 语言版本可以使用如下命令:

go version

接下来还是在 Home 目录(例如 ~/workspace)创建一个 workspace 目录并定义 GOPATH 环境变量指向该目录,这个目录将被 Go 工具用于保存和编辑二进制文件。

mkdir ~/workspace
echo 'export GOPATH="$HOME/workspace"' >> ~/.bashrc
source ~/.bashrc

根据不同的需要,我们可以使用 yum 安装 Go tools:

yum search golang

2123Go 语言环境安装

ubuntu 环境下直接输入提下命令安装:

apt install golang-go

2122Go 语言环境安装

MAC 下可通过 brew 安装

brew install go

或者

brew install golang

在安装之前也可以通过 brew info go 查看版本信息

~  brew info go
go: stable 1.10.1 (bottled), HEAD
Open source programming language to build simple/reliable/efficient software
https://golang.org
Not installed....

~  brew info golang
go: stable 1.10.1 (bottled), HEAD
Open source programming language to build simple/reliable/efficient software
https://golang.org
Not installed

2121Go 语言教程

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

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

Go 语言最主要的特性:

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