下载地址(官网):
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. express快速入门

    1.简介: express是基于Node.js平台,快速开放极简的web开发框架,使用 各种http使用工具和中间件,创建强大API. 2.安装 npm install express -g 全局安装 ...

  2. MySQL解决忘记密码问题

    解决Win10下Mysql 的Access denied for user'root'@'localhost' (using password: NO)问题 mysql一旦忘记密码即会出现这样的错误. ...

  3. Python的五大数据类型的作用、定义方式、使用方法

    一.简述Python的五大数据类型的作用.定义方式.使用方法: 1. 数字类型int: 1.整形 作用:可以表示人的年龄,身份证号码,身高和体重等 定义方式:  weight = 130 print( ...

  4. ajax图片上传(asp.net +jquery+ashx)

    一.建立Default.aspx页面 <%@ Page Language="C#" AutoEventWireup="true"  CodeFile=&q ...

  5. vue实现搜索功能

    vue实现搜索功能 template 部分 <!-- 搜索页面 --> <template> <div> <div class="goback&qu ...

  6. Linux性能优化从入门到实战:07 CPU篇:CPU性能优化方法

    性能优化方法论   动手优化性能之前,需要明确以下三个问题:   (1)如何评估性能优化的效果? 确定性能的量化指标.测试优化前的性能指标.测试优化后的性能指标.   量化指标的选择.至少要从应用程序 ...

  7. SSM中前台传数组。后台接受的问题

    当时写得时候,忘记考虑json的jar,做个记录. 第一步:先带入jar <dependency> <groupId>com.fasterxml.jackson.core< ...

  8. 08Servlet

    1.Servlet概念 1.1 servlet的特点 1)sevlet是一个普通的java类,继承HttpServlet类. 2)其实实现了Servlet接口的java类,才是一个Servlet类. ...

  9. [python 学习] 编码

    一.源文件编码(encoding: utf-8) 1. python 2.x 默认按ascii编码读取源文件,源码中出现了ascii不能表示的字符 "的",所以报错(3.x版本不报 ...

  10. bootstrap模态框模板代码

    模态框模板 模板代码 <!-- 添加员工的模态框 start --> <div class="modal fade" id="empAddModal&q ...