Go语言学习(一)| 环境搭建
时间:2022-07-22
本文章向大家介绍Go语言学习(一)| 环境搭建,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Linux 下安装
- 已1.10.3 为例,下载源码包:下载地址 wget https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz
- 将下载的源码包解压至 /usr/local目录。 tar -C /usr/local -xzvf go1.10.3.linux-amd64.tar.gz
- 将 /usr/local/go/bin 加入 PHTH 环境变量。可以将下边的内容加入 /etc/profile 或 HOME/.profileexport PATH=PATH:/usr/local/go/bin
- 加入上述内容后可以手动执行命令
source /etc/profile
(假设你将上述命令加入到了/etc/profile
文件中) 使其实时生效 - 压缩包也可以解压到其他文件夹,但是如果解压到了其他文件夹必须要设置 GOROOT , 如果将 go 安装到了自己的家目录,加入到 profile 文件的内容应该为如下内容:export GOROOT=HOME/go1.Xexport PATH=PATH:GOROOT/bin
NOTE: GOROOT 只有在定义安装目录才必须要进行设置
相关环境变量及设置
GOROOT
GO语言安装的路径
GOPATH
表示代码包所在的地址,可以设置多个。
Go源码加载顺序
GOPATH > GOROOT
假设:
GOPATH=~/gopath1:~/gopath2
GOROOT=/usr/local/go
当我们在代码中引用了包:github.com/xxx
时
那么:GO程序在编译时会按先后次序到以下目录中寻找源码:
~/gopath1/src/github.com/xxx~/gopath2/scr/github.com/xxx/usr/local/go/src/github.com/xxx
如果三个目录中都没有找到这个包,就会报错。
要加载的包的源代码必须放在 GOPATH
路径下的 src
目录,否则还是提示加载不到包
Go项目目录结构
当 GOPATH=~/workspace/go 时
root@mervyn:~/workspace# tree
.
.
└── go
├── bin
│ └── project1
├── pkg
└── src
└── project1
├── controllers
└── main.go
其中
- bin 目录为 go 编译可执行文件存放的的路径
- pkg 目录为 go 编译包时,生成的
.a
文件存放路径 - src 目录为源码路径。
GOBIN
存放执行 go install
命令后生成的二级制文件
go install 会生成可执行文件直接放到 GOBIN
目录下,当然这是有前提的你编译的是可执行文件,如果是一个普通的包,会被编译生成到pkg目录下该文件是.a结尾
到此已完成Go 环境的的搭建工作,选择一个IDE即可可以开始进行项目开发了。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 《剑指Offer 1.二维数组中的查找》2019-03-25
- Elasticsearch:Dynamic mapping
- 设计模式《单例设计模式》
- 《0-1 背包问题》
- 使用分治思想 求数组中的最大和最小值
- python 入门笔记[语法基础(下)]
- Java 成员变量和属性的区别
- xmuC语言程序实践week 1 大作业
- 《01-背包问题-点菜》
- 模拟赛 2018 Benelux Algorithm Programming Contest (BAPC 18)(部分题)
- vue动态生成表单组件vue-form-maker
- 对顶堆求区间k小(大)数
- 祖传快读快写模板
- 进阶版树状数组
- Julia 生产环境就绪了吗?我们跟项目维护者聊了聊