亲测GO环境搭建,理解go build、go install、go get

GO下载:

GO语言中文网下载:https://studygolang.com/dl

Mac下直接通过brew instatll go指令即可完成下载安装



GO环境变量配置:

$GOROOT=/usr/local/go                        GO安装目录

$GOPATH=/usr/local/var/www/go          GO工作目录

$GOBIN=$GOPATH/bin                          GO可执行文件目录

$PATH=$PATH:$GOBIN:$GOROOT/bin  将GO可执行文件加入PATH中,使GO指令与我们编写的GO应用可以全局调用



$GOPATH工作目录结构,约定有三个子目录(需要自行创建):

src ——存放源代码文件

pkg——存放编译后的文件

bin ——存放编译后的可执行文件



示例(首先使用go推荐的go build方式构建应用,稍后会说到其他的方式):

通过我们的操作,在最终测试成功后,$GOPATH的目录树应该如下所示:

具体操作如下:

1、创建应用包mypkg:切到【$GOPATH/src】目录下,创建一个mypkg目录,在mypkg目录下,新建一个hello.go,内容如下:

2、编译应用包(在此Demo中,此步骤并不必要,在此只是为了展示go install编译效果):在刚刚的目录下执行【go install】指令或者在任意目录下执行【go install mypkg】指令,如果代码有错或依赖找不到会报错,如果正确则没有任何提示。此时,你可以切到【$GOPATH/pkg】目录下,会发现多了一个名为【$GOOS_$GOARCH】的目录,切进该目录,就会看到刚刚编译生成的文件mypkg.a文件。(其中$GOOS与$GOARCH的具体值可以通过【go env】指令查询,更多详情可参看:http://wiki.jikexueyuan.com/project/go-command-tutorial/0.14.html

3、创建新应用包myapp,创建新文件main.go(同步骤1),import引入mypkg包,内容如下:

4、构建可执行文件:在myapp目录下,使用【go build】指令,会在当前目录下生成一个myapp的可执行文件,这个可执行文件不依赖其他文件,复制到任何目录下都可通过【./myapp】执行,复制到任何$PATH配置的目录中都可通过【myapp】全局执行。

总结:我们在这个Demo里主要用到了两个GO指令,【go install】与【go build】,他们的区别如下:

【go build】指令的作用是:在当前目录下编译生成可执行文件。注意,go build指令会调用所有引用包的源码,重新编译,而不是直接使用pkg里的编译后文件,如果在【$GOROOT】与【$GOPATH】下没有找到import引入包的项目源码,就会报错。在本demo里,main.go中import引入了"mypkg"包,如果我删除【$GOPATH/src/mypkg】源码,执行【go build】指令,会报错如下:

【go install】指令的作用是:编译源代码,如果为可执行文件(package "main"且包含main方法),则会编译生成可执行文件到【$GOPATH/bin】目录下;可执行文件import引入的其他包,就会被编译到【$GOPATH/pkg/$GOOS_$GOARCH】目录下。

(关于go的导入和编译,如果有不清楚的,可以看下这篇博客https://studygolang.com/articles/3189

我们会发现:【go install】也可以完成类似【go build】的功能,区别在于【go install】会生成二进制文件到【$GOPATH/pkg/$GOOS_$GOARCH】目录下(这个二进制文件对于我们并没什么意义),但【go install】会把可执行文件自动生成到【$GOBIN】目录下,这是在一开始被配置到【$PATH】中了,这样就可以使项目可执行文件能被方便的全局调用。

如果在本Demo中,使用【go install】构建可执行文件:

我们编写好源代码文件时,目录树如下:

切到myapp目录下,执行【go install】指令,会生成如下结构目录树:

此时就可以通过【myapp】全局执行了!



其他指令:

go env指令可检查go环境

go version查看go版本

go get可以暂时理解为git clone到【$GOPATH/src】 + go install

原文地址:https://www.cnblogs.com/soundcode/p/9609903.html

时间: 2024-10-11 01:38:57

亲测GO环境搭建,理解go build、go install、go get的相关文章

亲测PHP环境

一.安装Apache2.2.22→1.下载软件,点安装 2.填写dengguoxing.com  www.dengguoxing.com(暂时不知道什么用)3.custom 个性化安装 更改路径即可4.输入127.0.0.1或localhost 出现It works 安装成功. 二.mysql正常安装即可 三.php安装于配置 1.把PHP文件解压到这个目录E:/Program Files (x86)/PHP(需新建一个Php文件,安装环境要一样的噢) 2.配置进入PHP解压的目录,找到php.

Centos7下的LAMP环境搭建

参考网站:http://www.cnblogs.com/mchina/archive/2012/05/17/2507102.html http://www.osyunwei.com/archives/5910.html http://www.luoxiao123.cn/centos-yum-lnmp.html http://blog.sina.com.cn/s/blog_66ac09390101ivep.html Centos7.0   lamp环境搭建 CentOS 7.0默认使用的是fire

PyQt5快速上手基础篇1-开发环境搭建

前言 最近收到公司的一个基于PyQt的项目任务,由于UI界面比较复杂,最终选择了PyQt,本文我将带领大家学习Pyqt的环境搭建. 一.基础知识 1.PyQt简介 众所周知,Qt库是最强大的GUI库之一,不过他使用C++来开发的,作为一名Python爱好者,PyQt将是开发桌面应用程序一个极好的选择,笔者之前文章有介绍tkinter,那是Python内置的工具,比较轻量便捷,不过比较痛苦的是需要自己写代码设计UI,PyQt的一个很大的好处就在于可以使用Qt Designer设计UI界面,对于复杂

cocos2d-x 3.0 Android环境搭建(亲测通过)

网上一大堆讲述coco2d-x 3.0 版本的android环境搭建,真是不忍直視.讲的不清不楚,真是不知道他们自己有没有测试过.今天正好忙完项目有点时间去部署了下android环境. cocos2d-x 3.0 版本大大简化了android环境的部署,简单到只需一条命令就可以了.好了废话不多说开始进入正题.(我用的引擎是cocos2d-x 3.0 正式版,测试项目是创建的lua项目.系统为mac) 首先基本的andriod  sdk,ndk自己参照网上配置下.新版3.0需要多配置一下ant路径

史上最详细Windows版本搭建安装React Native环境配置 转载,比官网的靠谱亲测可用

史上最详细Windows版本搭建安装React Native环境配置 2016/01/29 |  React Native技术文章 |  Sky丶清|  95条评论 |  33530 views 编辑推荐:稀土掘金 是一个高质量的技术社区,从 React Native 到 RxJava,性能优化到优秀开源库,让你不错过移动开发的每一个技术干货.各大应用市场搜索「掘金」,技术干货尽在掌握中. 说在前面的话: 感谢同事金晓冰倾情奉献本环境搭建教程 之前我们已经讲解了React Native的OS X

centos7.2+jdk7.9搭建haddoop2.7.0伪分布式环境(亲测成功)

最近想研究下hadoop,玩一玩大数据,废话不多说,就此开始! 所用环境:   xshell 5.0(ssh连接工具,支持ftp,可向虚拟机传文件) CentOS-7-x86_64-DVD-1511.iso(网上很多资源,可自行搜索)   hadoop-2.7.0.tar.gz(下载地址:http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.0/) jdk-7u79-linux-x64.tar.gz(下载地址:微盘地址http://

大数据开发环境需要的安装包合集,亲测没问题

大数据环境需要的安装包合集,包括: apache-flume-1.7.0-bin.tar.gz apache-hive-1.2.1-bin.tar.gz hadoop-2.7.2.tar.gz hbase-1.3.1-bin.tar.gz jdk-8u144-linux-x64.tar kafka_2.11-0.11.0.2.tgz mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar scala-2.11.8.tgz spark-2.1.1-bin-hadoop2.

推荐几个hadoop搭建的几个好的博文,亲测成功!

内容包括hadoop单机版.伪分布式.分布式搭建方式以及在Eclipse上面安装hadoop插件配置hadoop,本菜亲测成功,希望对大家能产生帮助: http://www.cnblogs.com/kinglau/category/509016.html http://www.cnblogs.com/huligong1234/p/3533382.html http://aub.iteye.com/category/302369

django RESTful研究一环境搭建和理解RESTful

一.环境安装要求: django1.8 python2.7 restful3.2(一定要注意版本,版本不一致会报很多错误,特别是django1.8是在python2.7的基础上才能够运用) 二.环境搭建: pip install djangorestframework pip install markdown       # Markdown support for the browsable API. pip install django-filter 三.理解RESTful: 请参考(htt