Golang的安装和编译
一、下载安装(Ubuntu16.04)
1.下载地址:https://golang.google.cn/dl/
2.下载Linux版本的安装包go1.10.3.linux-amd64.tar.gz并复制到/usr/local下并解压
tar -xzf go1.8.linux-amd64.tar.gz -C /usr/local
[jun@master ~]$ cd /home/jun/
[jun@master ~]$ cd go/
[jun@master go]$ ls -l
total
drwxr-xr-x. jun jun Jun : api
-rw-r--r--. jun jun Jun : AUTHORS
drwxr-xr-x. jun jun Jun : bin
drwxr-xr-x. jun jun Jun : blog
-rw-r--r--. jun jun Jun : CONTRIBUTING.md
-rw-r--r--. jun jun Jun : CONTRIBUTORS
drwxr-xr-x. jun jun Jun : doc
-rw-r--r--. jun jun Jun : favicon.ico
drwxr-xr-x. jun jun Jun : lib
-rw-r--r--. jun jun Jun : LICENSE
drwxr-xr-x. jun jun Jun : misc
-rw-r--r--. jun jun Jun : PATENTS
drwxr-xr-x. jun jun Jun : pkg
-rw-r--r--. jun jun Jun : README.md
-rw-r--r--. jun jun Jun : robots.txt
drwxr-xr-x. jun jun Jun : src
drwxr-xr-x. jun jun Jun : test
-rw-r--r--. jun jun Jun : VERSION
3.增加Linux环境变量并source生效
(1)执行编写环境变量命令
vim /etc/profile
(2)增加下面的配置
export GOPATH=/home/golang/gopath
export GOROOT=/usr/local/go
export GOARCH=386
export GOOS=linux
export GOTOOLS=$GOROOT/pkg/tool
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
(3)source环境变量使之生效
source /etc/profile
4.测试是否安装成功
(1)在任意路径执行go version
(2)新建go文件
package main
import "fmt"
func main(){
fmt.Println("Hello,World!")
}
(3)执行go run命令运行go文件
root@bigjun:/home/www/golang/gopath/src# ls
hello.go
root@bigjun:/home/www/golang/gopath/src# go run hello.go
Hello,World!
(4)执行go build命令生成可执行文件
root@bigjun:/home/www/golang/gopath/src# ls
hello.go
root@bigjun:/home/www/golang/gopath/src# go build hello.go
root@bigjun:/home/www/golang/gopath/src# ls
hello hello.go
root@bigjun:/home/www/golang/gopath/src# ./hello
Hello,World!
5.建立$GOPATH文件夹
root@bigjun:/usr/local/go# mkdir -p /home/golang/gopath
root@bigjun:/usr/local/go# cd /home/golang/gopath/
root@bigjun:/home/golang/gopath# mkdir bin
root@bigjun:/home/golang/gopath# mkdir src
root@bigjun:/home/golang/gopath# mkdir pkg
root@bigjun:/home/golang/gopath# tree
.
├── bin
├── pkg
└── src directories, files
其中三个文件夹的作用分别是
- bin目录主要存放可执行文件;
- pkg目录存放编译好的库文件, 主要是*.a文件;
- src目录下主要存放go的源文件
二、编译应用
1.首先进入$GOPATH目录下的src下新建一个项目
root@bigjun:~# cd $GOPATH/src
root@bigjun:/home/golang/gopath/src# mkdir mymath
2.进入到mymath下新建sqrt.go文件,注意,一般package的名称和工程目录名保持一致
package mymath func Sqrt(x float64) float64 {
z := 0.0
for i := ; i < ; i++ {
z -= (z*z - x) / ( * x)
}
return z
}
3.已经建立了自己的应用包,编译安装两种方式:
- 只要进入对应的应用包目录,然后执行
go install
- 在任意的目录执行如下代码
go install mymath
root@bigjun:/home/golang/gopath/src/mymath# go install
然后,在pkg文件夹下生成了.a应用包
root@bigjun:/home/golang/gopath# tree
.
├── bin
├── pkg
│ └── linux_amd64
│ └── mymath.a
└── src
└── mymath
└── sqrt.go directories, files
4.新建一个应用程序来调用这个包
root@bigjun:/home/golang/gopath# cd src/
root@bigjun:/home/golang/gopath/src# mkdir mathapp
root@bigjun:/home/golang/gopath/src# cd mathapp/
root@bigjun:/home/golang/gopath/src/mathapp# vim main.go
5.编写main.go代码
package main import (
"mymath"
"fmt"
) func main() {
fmt.Printf("Hello, world. Sqrt(2) = %v\n", mymath.Sqrt())
}
6.编译并执行main.go
root@bigjun:/home/golang/gopath/src/mathapp# go build main.go
root@bigjun:/home/golang/gopath/src/mathapp# ls
main main.go
root@bigjun:/home/golang/gopath/src/mathapp# ./main
Hello, world. Sqrt() = 1.414213562373095
7.将mathapp这个项目也编译成应用包
root@bigjun:/home/golang/gopath/src/mathapp# go install
然后会在/home/golang/gopath/bin下生成一个linux_386文件,里面有一个可执行文件mathapp
root@bigjun:/home/golang/gopath/bin/linux_386# ./mathapp
Hello, world. Sqrt() = 1.414213562373095
Golang的安装和编译的更多相关文章
- 在Ubuntu安装go编译环境
在Ubuntu安装go编译环境 好记性不如烂笔头,所以趁热打铁记录下golang编译环境的安装过程. 首先下载一些依赖包: sudo apt-get install bison ed gawk gcc ...
- golang环境安装和配置
go中环境安装 前言 最近在工作中需要新配置go环境,每次都要去网上查找教程,浪费时间,那么就自己总结下. 下载安装 linuxGolang官网下载地址:https://golang.org/dl/1 ...
- [转载] Golang交叉编译(跨平台编译)简述
一.何为交叉编译 简单地说,就是在一个平台上生成另一个平台上的可执行代码.同一个体系结构可以运行不同的操作系统:同样,同一个操作系统也可以在不同的体系结构上运行. 二.交叉编译前的准备 本文只介绍Wi ...
- golang的安装
整理了一下,网上关于golang的安装有三种方式(注明一下,我的环境为CentOS-6.x, 64bit) 方式一:yum安装(最简单) rpm -Uvh http://dl.fedoraprojec ...
- 安装maven编译环境
安装maven编译环境 1.默认已经装好yum并配置好yum源(推荐使用163yum源) 2.安装JDK 3.安装相关依赖环境(root用户登陆) yum install -y cmake lzo-d ...
- CentOS离线安装GCC编译环境
gcc编译环境rpm下载 安装相关的rpm包,具体版本可能随时间变化而变化,可以去以下地址下载: 重庆大学镜像:http://b.mirrors.lanunion.org/CentOS/中国科学技术大 ...
- windows平台下安装、编译、使用mongodb C++ driver
本博客将记录在Win8.1 ,VS2013环境下编译.配置mongodb C++ driver的流程. 1.下载预备 下载Boost:http://sourceforge.net/projects/b ...
- eclipse安装反编译工具
身为一名程序员来说,日常最常做的就是编写代码和查看别人写好的源代码了,有时候打开别人写的class文件发现根本不是自己想要的,所以给大家介绍一种eclipse中反编译class文件的工具. 第一步:下 ...
- [转]Caffe在Linux下的安装,编译,实验
Caffe在Linux下的安装,编译,实验 原文地址:http://www.cnblogs.com/evansyang/p/6150118.html 第一部分:Caffe 简介 caffe是有伯克利 ...
随机推荐
- 基于操作系统原理的Linux 的用户管理
一.实验目的 1.掌握为root用户修改密码的方法. 2.掌握创建新用户的方法. 3.掌握用户组的管理方法. 4.掌握为用户授权的方法. 二.实验内容 1.Linux的用户管理 (1)创建新用户创建新 ...
- mybatis批量插入应用
一.foreach简单介绍 foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合. foreach元素的属性主要有item,index,collection,open,sepa ...
- WebGL简易教程(八):三维场景交互
目录 1. 概述 2. 实例 2.1. 重绘刷新 2.2. 鼠标事件调整参数 3. 结果 4. 参考 1. 概述 在上一篇教程<WebGL简易教程(七):绘制一个矩形体>中,通过一个绘制矩 ...
- Kafka 异步消息也会阻塞?记一次 Dubbo 频繁超时排查过程
线上某服务 A 调用服务 B 接口完成一次交易,一次晚上的生产变更之后,系统监控发现服务 B 接口频繁超时,后续甚至返回线程池耗尽错误 Thread pool is EXHAUSTED.因为服务 B ...
- Forest plot(森林图) | Cox生存分析可视化
本文首发于“生信补给站”微信公众号,https://mp.weixin.qq.com/s/2W1W-8JKTM4S4nml3VF51w 更多关于R语言,ggplot2绘图,生信分析的内容,敬请关注小号 ...
- maven打包工程出现错误 Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test
今天用maven在命令行打包项目的时候出现错误: Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12. ...
- Django基础之jQuery操作cookie
jquery之cookie操作 定义:让网站服务器把少量数据储存到客户端的硬盘或内存,从客户端的硬盘读取数据的一种技术: 下载与引入:jquery.cookie.js基于jquery:先引入jquer ...
- ASP.NET Web API 2系列(一):初识Web API及手动搭建基本框架
1.导言 随着Web技术的发展,现在各种框架,前端的,后端的,数不胜数.全栈工程师的压力越来越大. PC端,pad端,移动端App(安卓/IOS)的发展,使得前后端一体的开发模式十分笨重.因此,前后端 ...
- 在vue中操作dom元素
在vue中可以通过给标签加ref属性,就可以在js中利用ref去引用它,从而达到操作该dom元素,以下是个参考例子 1 <template> 2 <div> 3 <div ...
- Qt5教程: (8) 标准对话框和文件对话框
1. about对话框 包含头文件 #include <QMessageBox> 添加菜单项 QAction *p3 = pDialog->addAction("关于&qu ...