mac:Go安装和配置+GoLand安装和使用之完整教程
前言
作为一个go语言程序员,觉得自己有义务为go新手开一条更简单便捷的上手之路。纵使网上教程很多,但总不尽人意。go的入门门槛还是非常低的,无论是安装还是使用。
go安装
go 语言支持以下系统:
Linux
Mac OS X(也称为 Darwin)
Window
FreeBSD
本文将介绍mac下的安装和使用教程
安装包下载地址(下面3个都可以):
https://studygolang.com/dl
https://golang.google.cn/dl/
https://golang.org/dl/
步骤:
- 打开安装包下载页面
.
- 选择go1.10.2.darwin-amd64.tar.gz,单击连接就开始下载到本机了。这里选择的稳定(stable)版本是1.10.2,当然你也可以选择其他的版本进行下载。
(图片中,我们选择的是tar压缩包,它的上一个是源码包,下一个是pkg包。pkg包安装简单,只需双击+一路next即可,安装路径默认是/usr/local/go/)
.
- 找到本机下载好的压缩包,可通过在下载页面下方直接找到。
.
- 打开终端,进入压缩包所在目录,将压缩包解压到/usr/local目录
cd 安装包所在目录
tar -C /usr/local -xzf go1.10.2.darwin-amd64.tar.gz
- 1
- 2
- 配置GOROOT和PATH
配置:
//编辑~/.bash_profile文件
localhost:~ zxy$ vim ~/.bash_profile
//在~/.bash_profile文件中添加以下2条命令
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
//使配置生效
localhost:~ zxy$ sorce ~/.bash_profile
----------分割线--------------
说明:
1. GOROOT是GO的安装路径
2. 但要执行go命令和go工具,就必须将go的可执行文件/usr/local/go/bin添加到系统的PATH环境变量中。
这样,无论在终端的任何路径,都可识别go命令和go相关工具
3. 网上有很多在安装时就配置全局GoPath的,其实这是可选的。网上的很多文章又解释得不清楚,
往往使初学者蒙圈。笔者建议初学者安装时可以不用配,用不好可能出问题。且后面使用开发工具时,
这个全局gopath基本用不到,算是个多余的存在,有时还增加代码排错障碍。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 测试,在终端输入go version,出现以下提示则安装成功
localhost:~ zxy$ go version
go version go1.8.5 darwin/amd64
- 1
- 2
至此安装结束。
安装成功后,让我们写个hello world感受一下吧。
//打开终端,随便cd到一个目录,比如我cd到我的xy目录
localhost:xy zxy$ vim hello.go
//编辑hello.go文件
package main
import "fmt"
func main(){
fmt.Println("hello world")
}
//通过:wq保存文件并退出。运行文件
localhost:xy zxy$ go run hello.go
hello world
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
在实际的项目开发中,我们期待有个类似eclipse或者IDEA(java开发工具)那样的开发工具,助力程序员快速开发。下面给大家介绍Go的一款开发工具GoLand,非常好用,是IDEA全家桶中的一员。
GoLand安装与配置
- 打开官网
https://www.jetbrains.com/go/
单机进入
下载后找到安装包,双击+一路next即可安装成功![]()
安装成功后,双击打开软件![]()
进来后,会让你选择打开一个本地项目,或者新建一个项目。我们新建一个
进来后需要填写一下信息,完毕后点击“create”即创建了一个新项目
创建成功后的界面。单机坐下角的”Terminnal”可以打开终端,直接操作。单机”TODO”可以查看代码中所有被标注为//todo(TODO)的地方。配置GOPATH,这一步非常重要,否则代码中的依赖包将无法识别。一般GOPATH都配置到项目名这一层
现在的项目是空的,让我们来写个hello吧
在项目hello文件夹下,我新建了一个src文件夹,这是go的默认用法。一般都将项目代码放在src文件夹下。代码中所有引用的第三方包路径,前缀都默认是"项目名/src/第三方包路径”。
如main.go中引用第三方包:import “golang.org/x/net/websocket”,那么该包必须位于“hello/src/”文件夹下,否则将找不到该依赖包而编译出错。
.
当然,你也可以通过下面的方式运行程序:
从终端cd到package main文件所在的文件文件夹,如这里是src。go build编译后生成一个可执行文件,文件名就是相应的xx.go文件的文件名xx,如这里是main。然后直接./xx运行即可。如果不想编译,也可以在终端直接go run main.go运行
.
如果你用终端go run/build的方式运行程序,可能你会收到类似下面的错误
这种错误一般都是由于本终端窗口的GOPATH没有配置正确,可以通过“export GOPATH=你的gopath路径”的方式配置。需要注意的是,在本终端窗口通过这个方式配置只对本窗口有效,关闭或新建窗口需要重新配置。
造成这个错误的原因可能有:
· 本窗口GOPATH没有配置或配置错误
· 本窗口不配置时,如果本机(电脑)通过配置文件的方式配置的全局GOPATH,本窗口会去读取全局gopath。而全局gopath并不适用本项目,故而报错。所以前面安装go时就建议初学者不要配置全局gopath。
· 关闭GoLand或者重启电脑,也可能导致之前配置的GOPATH失效。
补充一句:go的依赖包识别是通过查找gopath下是否存在响应依赖包。
.
如果想打开另一个项目
至此,GoLand安装及使用教程结束。
补充:
1. GoLand开发工具时收费的,免费试用1个月,到期后可以尝试卸载再重装。
2. 目前该工具没有特别好的破解教程。毕竟使用GO的人目前还是相对较少的,期待破解大神出现。
欢迎来到go世界。。。
mac:Go安装和配置+GoLand安装和使用之完整教程的更多相关文章
- Redis安装与配置Redis安装与配置
今天在使用Redis的时候遇到了一些问题,这个问题的解决,发现很多人使用Redis的时候没有一点安全意识.所以又重温了一下Redis,觉得应该写一下Redis的安全和配置. Redis安装与配置Red ...
- [Hadoop入门] - 2 ubuntu安装与配置 hadoop安装与配置
ubuntu安装(这里我就不一一捉图了,只引用一个网址, 相信大家能力) ubuntu安装参考教程: http://jingyan.baidu.com/article/14bd256e0ca52eb ...
- mongodb 3.0下载安装、配置及mongodb最新特性、基本命令教程详细介绍
mongoDB简介(本文由www.169it.com搜集整理) MongoDB是一个高性能,开源,无模式的文档型数据库,是目前在IT行业非常流行的一种非关系型数据库(NoSql).它在许多场景下可用于 ...
- 阿里云ECS服务器 java JDK安装和配置 mysql安装和配置
最近配置了一下阿里云ecs服务的服务器环境,主要对java jdk环境的安装和配置,以及数据库mysql的安装和配置,趁着热乎,记录一下! 服务器用的系统是ubuntu_16_04_64的,版本16. ...
- ubuntu 下串口调试工具 minicom安装与配置cutecom安装
安装minicom: $sudo apt-get install minicom 配置minicom: 如果您的系统的默认语言不是英文,请执行下面的命令: $LANG=EN ...
- ubuntu12.04安装搜狗输入法配置,安装packettracer字体设置,软件推荐
装上系统,后的各种配置,各种出错之后的解决. 一.安装搜狗输入法 如果系统以前安装了先卸载: sudo apt-get remove fcitx* #删除配置文件 sudo apt-get purge ...
- Eclipse中SVN插件的安装和配置(离线安装)
Eclipse利用svn的离线安装包进行配置svn,这种方式配置起来很简单,但是前提是必须下载可用的的svn离线包.因为有的从网上下载的svn离线包有问题. 第一步:下载svn离线包 我下载的是下面这 ...
- Eclipse中SVN插件的安装和配置(在线安装)
公司项目中用到了svn来管理项目,然后需要在Eclipse中进行配置.网上参考了很多资料,离线安装的方式装上了,但是导入项目后报错,可能是离线安装包的问题.然后又采用了Eclipse在线安装的方式,总 ...
- httpd安装与配置(编译安装)
httpd简介 httpd是Apache超文本传输协议(HTTP)服务器的主程序.被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池. 通常,httpd不应该被直接调用,而应该在类 ...
随机推荐
- [CC-CLPOINT]Optimal Point
[CC-CLPOINT]Optimal Point 题目大意: 在\(k(k\le5)\)维空间中,如果点\(X\)的坐标为\((x_1,x_2,\ldots,x_k)\),点\(Y\)的坐标为\(( ...
- Vue发送请求
可以试试玩ajax请求,个人觉得axios用Promise包装了下,代码美观 axios请求使用方法 https://github.com/axios/axios#using-applica ...
- dd制作linux启动盘
1.fdisk /dev/sdb 删除分区,新建分区 2.mkfs.vfat /dev/sdb1 3.dd bs=4M if=CentOS.iso of=/dev/sdb
- MySQL(七)
视图 对于复杂的查询,在多次使用后,维护是一件非常麻烦的事情 解决:定义视图 视图本质就是对查询的一个封装 定义视图 create view stuscore as select students.* ...
- meta总结
做项目的时候发现正常的代码在360浏览器上样式都是乱的,翻阅资料才发现360是双核,分为极速模式和兼容模式,极速模式是用webkit内核,兼容模式是用trident内核(也就是IE内核),最后加了一行 ...
- 数据结构 BM算法
BM算法是比KMP算法更快的字符串模式匹配算法.BM算法最好情况下的时间复杂度是O(n),KMP算法最好情况下的时间复杂度是O(n+m),两者最坏情况下的时间复杂度均是O(m*n).其中,n指目标串长 ...
- css-方形边框四角
项目中遇到下图这种样式,刚开始想切图解决 后来想到更好的解决办法,代码如下: HTML: <div class="BoxWrap"> <div class=&qu ...
- NodeJS 连接接MySQL
NodeJS 连接接MySQL MySQL是常用数据库,作为后端模块,nodejs可以提供了mysql接口 安装 $ npm install mysql 测试代码 var mysql = requir ...
- 3_主流部署方式介绍-Django+gunicorn+nginx
下载python wgethttps://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz 报错 Cannot find a valid baseurl ...
- 动态规划-最长上升子序列(LIS)
时间复杂度为〇(nlogn)的算法,下面就来看看. 我们再举一个例子:有以下序列A[]=3 1 2 6 4 5 10 7,求LIS长度. 我们定义一个B[i]来储存可能的排序序列,len为LIS长度. ...