下载地址(官网):
https://golang.org/dl/

下载地址(国内):
https://dl.gocn.io/

想编译GO,必须先有一个GO的编译器。

创建GO的编译器:
[root@node2 ~]# mkdir local
[root@node2 ~]# cd local
[root@node2 local]# curl -LO https://dl.google.com/go/go1.4.3.src.tar.gz
[root@node2 local]# tar xvf go1.4.3.src.tar.gz
[root@node2 local]# mv go go1.4.3
[root@node2 local]# cd go1.4.3/
[root@node2 go1.4.3]# cd src/
[root@node2 src]# ./make.bash
[root@node2 go1.4.3]# bin/go version
go version go1.4.3 linux/amd64

安装GO软件:
[root@node2 local]# tar xf go1.10.3.src.tar.gz
[root@node2 local]# ls
go go1.10.3.src.tar.gz go1.4.3 go1.4.3.src.tar.gz

[root@node2 local]# mv go go1.10

[root@node2 go1.10]# cd src/

[root@node2 src]# ./make.bash
Building Go cmd/dist using /root/go1.4.
ERROR: Cannot find /root/go1.4/bin/go.
Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.

需要设置1.4版本的环境变量

[root@node2 src]# export GOROOT_BOOTSTRAP=/root/local/go1.4.3
[root@node2 src]# ./make.bash

[root@node2 go1.10]# bin/go version
go version go1.10.3 linux/amd64
[root@node2 local]# mv go1.10 go

初始化环境
GOROOT 放置go的标准库和工具链
$HOME/local/go (linux, mac)
c:\local\go (windows)

GOPATH 放置第三方代码和自己的工程
$HOME/go (linux, mac)
c:\go (windows)

PATH
export PATH=$GOROOT/bin:$GOPATH/bin:$PATH

[root@node2 ~]# vim ~/.bashrc
export GOROOT=/root/local/go
export GOPATH=/root/go
export PATH=$GOROOT/bin:$GOPATH/bin:$PATH

测试一个Hello World
[root@node2 go]# vim hello.go
package main

import "fmt"

func main() {
  fmt.Println("hello golang")
}

[root@node2 go]# go run hello.go
hello golang

编译运行
go build hello.go && ./hello # 编译成.exe的文件,在Windows中执行。直接编译成可执行文件。在Linux中也可以直接运行 ./hello
go run hello.go #在linux中执行执行该文件

[root@node2 go]# go build hello.go
[root@node2 go]# file hello
hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, not stripped
[root@node2 go]# ./hello
hello golang

mac系统把程序编程成Linux系统的程序:
[root@node2 go]# GOOS=linux go build hello.go 变成linux
[root@node2 go]# GOOS=windows go build hello.go 变成windows
[root@node2 go]# GOOS=darwin go build hello.go 变成mac

[root@node2 go]# GOOS=linux go build -o hello.linux hello.go
[root@node2 go]# GOOS=linux go build -o hello.lin hello.go
[root@node2 go]# GOOS=windows go build -o hello.exe hello.go
[root@node2 go]# GOOS=darwin go build -o hello.mac hello.go

安装go版本的更多相关文章

  1. 如何为eclipse安装合适版本的python插件pydev

    pydev是一款优秀的Eclipse插件,大多数喜欢在eclipse开发软件的程序员(也许是java程序员)在开发python软件时希望继续使用eclipse,那么pydev是非常理想的选择. 1.安 ...

  2. ubuntu14.04下配置Java环境以及安装最新版本的eclipse

    首先是配置JDK 步骤一:下载最新版本的JDK,链接:http://www.oracle.com/technetwork/java/javase/downloads/index.html 步骤二:首先 ...

  3. Python 基础之在ubuntu系统下安装双版本python

    前言:随着python升级更新,新版本较于老版本功能点也有不同地方,作为一个初学者应该了解旧版本的规则,也要继续学习新版本的知识.为了能更好去学习python,我在ubuntu安装python2和py ...

  4. 在树莓派(Raspberry Pi)上编译安装更新版本的Python

    Raspiban Wheezy上预装的Python3版本是3.2.3,本文将介绍升级到3.4.3的方法. 此文也适用于安装其它版本(比如最新版本)的Python. 我用的是B+型的树莓派,装的系统是2 ...

  5. 安装指定版本的cordova

    安装指定版本的cordova 刚接触cordova看到教程肯定是直接 npm install -g cordova 然后下载个集成的adt 以为万事大吉,开始hello world 玩玩没有想到最新的 ...

  6. yum安装高版本mysql(5.5)

    1.导入第三方源webtatic rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm 2.如果已安装低版本的mysql就删除 yum r ...

  7. 如何安装最新版本的memcached

    转载自孟叔的博客:  https://learndevops.cn/index.php/2016/06/10/how-to-install-the-latest-version-of-memcache ...

  8. ppa安装php版本

    如果你想安装PHP的特定版本,那么这篇文章可以帮助你.这篇文章将帮助您安装PHP 5.4和PHP 5.5 PHP 5.6,通过使用PPA在Ubuntu 15.10 LTS,14.04或12.04 LT ...

  9. python开发学习-day01 (python安装与版本、字符串、字典、运算符、文件)

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  10. Linux环境Nginx安装多版本PHP

    php5.4.44 所谓多版本多版本PHP就是php5.4和5.5以及其他版本在同一台服务器. 假如php5.5是主版本已经安装在/usr/local/php目录下,那么再安装其他版本的php再指定不 ...

随机推荐

  1. EPROCESS ETHREAD PEB重要成员

    -----------------------------------------------------------------------win7 x86中-------------------- ...

  2. JavaScript中Number(),parseInt()和parseFloat()区别

    parseInt() 函数可解析一个字符串,并返回一个整数; parseFloat() 函数可解析一个字符串,并返回一个浮点数, 以上都是截取转换,具体代码如下: alert(parseInt(&qu ...

  3. Centos安装ifstat统计网络流量

    原文地址: http://www.winvps.org/post/504.html 下载 ifstat ,  http://gael.roualland.free.fr/ifstat/ifstat-1 ...

  4. C# 列出并删除一个文件夹下的所有MD5值相同的文件

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. 线上nginx 平滑添加新模块;如(--with-http_realip_module)

    nginx 添加模块1.查看当前nginx信息(配置文件路径,启动用户...) ps aux | grep nginx 2.查看当前nginx已启用的模块(记录模块信息,安装路径)./nginx -V ...

  6. lsattr 查看文件扩展属性

    1. 命令功能 lsattr查看 是否有chattr设置的权限. 2. 使用范例 [root@localhost data]# lsattr resolv.conf -----a-------e- r ...

  7. python基础——对时间进行加减

    在datetime模块中有一个timedelta这个方法,它代表两个datetime之间的时间差.. In [42]: datetime.datetime.now().strftime('%Y-%m- ...

  8. [USACO]奶牛会展(背包)

    [USACO]奶牛会展 题目背景 奶牛想证明它们是聪明而风趣的.为此,贝西筹备了一个奶牛博览会,她已经对N 头奶牛进行 了面试,确定了每头奶牛的智商和情商. 题目描述 贝西有权选择让哪些奶牛参加展览. ...

  9. 2018-10-16-weekly

    Algorithm 判断子序列 What 给定字符串 s 和 t ,判断 s 是否为 t 的子序列.如,"ace"是"abcde"的一个子序列,而"a ...

  10. 重启uwsgi

    sudo pkill -f uwsgi -9 uwsgi --ini mysite.uwsgi.ini