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不应该被直接调用,而应该在类 ...
随机推荐
- 1489 ACM 贪心
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1489 题意:为负数表示买酒,正数表示买酒,每两家人之间为one unit of work.问最小的work ...
- [P3452][POI2007]BIU-Offices (BFS)
这里有一个很完美(搞笑但是确实是这样的)翻译 题意 神牛 LXX 昨天刚刚满 18 岁,他现在是个成熟的有为男青年.他有 N 个 MM,分别从 1 到 N 标号. 这些 MM 有些是互相认识的.现在, ...
- [P3625][APIO2009]采油区域 (前缀和)
这道题用二维前缀和可以做 难度还不算高,细节需要注意 调试了很久…… 主要是细节太多了 #include<bits/stdc++.h> using namespace std; #defi ...
- Shooting Contest 射击比赛 [POJ1719] [CEOI1997] [一题多解]
Description(下有中文题意) Welcome to the Annual Byteland Shooting Contest. Each competitor will shoot to a ...
- .net异常处理
很多情况下,我们通过开发的winform程序会crash掉,此问题大部分是因为有部分异常没有捕获处理导致的.我们可以通过注册下面两个异常处理,来捕获这些异常,并做特殊处理. Application.T ...
- Flask 三方组件 Flask-Session
使用 from flask import session, Flask from flask_session import Session from redis import Redis app = ...
- css中px,em,rem,rpx的区别
今天看到一个面试题为 px,em的区别,为了更好地让读者区分css的长度单位,我总结下css中常用的长度单位: px,em,rem,rpx 像素px是我们在定义CSS中经常用到的尺寸大小单位,而em在 ...
- MyBatis初探
首先下载MyBatis jar包, 可以去MyBatis中文官网下载 项目中导入MyBatis jar包和JDBC jar包(此处用的MySQL) 新建conf.xml 内容如下: <?xml ...
- JS_高程3.基本概念(4)操作符
ECMA-262用于操作数据值的操作符包括: 算术操作符 位操作符 关系操作符 相等操作符 ECMAScript操作符的不同之处在于:它能够适用于很多值,包括字符串,数字值,布尔值,甚至是对象.(在应 ...
- python算法练习
6. 约瑟夫环问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到k的那个人被杀掉:他的下一个人又从1开始报数,数到k的那个人又被杀掉:依此规律重复下去 ...