mac:Go安装和配置+GoLand安装和使用之完整教程-程序员宅基地

技术标签: GoLand安装配置  Go  go安装配置  

前言

作为一个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
  • 配置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基本用不到,算是个多余的存在,有时还增加代码排错障碍。
  • 测试,在终端输入go version,出现以下提示则安装成功
localhost:~ zxy$ go version
go version go1.8.5 darwin/amd64

至此安装结束。


安装成功后,让我们写个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

在实际的项目开发中,我们期待有个类似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世界。。。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zxy_666/article/details/80182688

智能推荐

树莓派的3D模型在STEP格式。SolidWorks、AutoCAD,fusion360可用_树莓派step-程序员宅基地

文章浏览阅读439次,点赞5次,收藏12次。树莓派的3D模型在STEP格式。SolidWorks、AutoCAD,fusion360可用。_树莓派step

Glide-自定义缓存_glide自定义缓存图片名-程序员宅基地

文章浏览阅读1.6w次,点赞9次,收藏11次。前言:在前面的文章中,我们介绍了如何对Glide进行默认配置的基础知识,现在我们就来介绍如何配置自定义缓存1.如何使用GlideModule首先我们要对Glide进行默认配置,需要了解如何使用GlideModule,前面文章已经做了详细介绍了,这边就不再介绍了如何使用GlideModulehttp://blog.csdn.net/yulyu/article/details/55194237前面还介绍_glide自定义缓存图片名

98dx166switch交换芯片接口移植(一):SMI接口以及MII接口_stmmac适配switch芯片-程序员宅基地

文章浏览阅读3.2k次。一:交换机的原理机制信号转发的网络设备,介入交换机的任意两个节点共享信号通路,工作与OSI的数据链路层,同事可以进行多个端口的数据传输,交换机上电后会自动创建一个端口地址表,叫做MAC地址表,,会记录mac地址和哪个端口连接,然后自动学习,每次进到交换机的信息,都会记录下穿送过来的设备地址的mac地址,过程就是,学习mac地址,广播mac地址,查找mac地址,配对mac地址。二:switc..._stmmac适配switch芯片

华为勇敢星实习生招聘面试经历和华为优招面试经历_华为勇敢星实习生面试-程序员宅基地

文章浏览阅读2.7w次,点赞7次,收藏23次。我参加的是华为2017年(针对18年毕业的应届生)武长地区的华为优招,面试之前也在网上搜了很长时间的关于优招的面试经验贴,没有搜到多少相关的资料。所以写下这篇帖子,希望能够帮到后续参加华为优招的同学。  先说下我参加华为勇敢星实习招聘的经历吧(因为过了实习可以省很多事情):  华为发出招聘勇敢星实习计划后,在官网注册简历,投递简历。这里要说明一下,找人内推没什么用,至今也没听说谁需要找华为的员工内推_华为勇敢星实习生面试

(四)嵌入式 Linux驱动程序设计之杂项设备驱动_qemu misc-程序员宅基地

文章浏览阅读206次。(四)嵌入式 Linux驱动程序设计之杂项设备驱动接上篇:(三)嵌入式 Linux驱动程序设计之驱动编译进内核linux三大设备驱动字符设备:IO的传输过程是以字符为单位的,没有缓冲,如:I2C,SPI;块设备:IO传输过程以块为单位,根存储相关的都是块设备,如:tf卡,EMMC;网络设备:以套接字来访问的.1.杂项设备驱动属于字符设备,杂项设备可以自动生成设备节点.我们系统里有很多杂项设备,开发板可以使用cat /proc/misc/查看;虚拟机在/dev/下;2.杂项设备除了比字符设备代_qemu misc

HDU 5745 La Vie en rose(暴力碾压过去。。。)_5745la vie en rose-程序员宅基地

文章浏览阅读561次。Problem DescriptionProfessor Zhang would like to solve the multiple pattern matching problem, but he only has only one pattern string p=p1p2...pm. So, he wants to generate as many as possible pattern s_5745la vie en rose

随便推点

ZYNQ-UART串口中断测试_zynq 串口中断-程序员宅基地

文章浏览阅读4.9k次,点赞10次,收藏66次。学习内容本文主要介绍关于ZYNQ芯片的串口中断功能,并编写相关测试代码开发环境vivado 18.3&SDK,PYNQ-Z2开发板。UART控制器简介UART控制器是一个全双工异步接收和发送,支持可编程波特率和I/O信号格式。 该控制器可实现奇偶校验自动生成和多主检测模式。UART操作由配置和模式寄存器控制。FIFO、调制解调器信号和其他控制器功能的状态是使用状态、中断状态和调制解调器状态寄存器读取的。UART控制器有独立的RX和TX数据路径。每个路径包括一个64字节的FIFO。 控制_zynq 串口中断

linux_centos安装openslide_libopenjp2-程序员宅基地

文章浏览阅读2.6k次。开发十年,就只剩下这套Java开发体系了>>> ..._libopenjp2

利用swagger组件测试excel下载,打开文件乱码。-程序员宅基地

文章浏览阅读1.4w次,点赞9次,收藏36次。最近项目遇到个问题,就是利用swagger下载excel时,得到的文件打开总是乱码,首先怀疑是response的content-type有问题,将application试遍了,“x-msdownload”,“vnd.ms-excel”,“vnd.openxmlformats-officedocument.spreadsheetml.sheet”,“octet-stream”这些试了都不行,具体的类...

Linux 安装telnet_linux telnet安装-程序员宅基地

文章浏览阅读3.5w次,点赞8次,收藏62次。Linux 安装telnet_linux telnet安装

NULL详解___null-程序员宅基地

文章浏览阅读1.5k次,点赞3次,收藏3次。1. 定义:在C语言中和C++中定义是不同的。相关代码如下:#undef NULL#if defined(__cplusplus)#define NULL 0#else#define NULL ((void *)0)#endif为什么在C中和C++中的定义是不一样的呢?原因如下:在C语言中,看定义就好理解,直接定义为空指针。(此处也得声明一下,本质上0并非是空的含义,只是这样定义在解引用的时候相当于是访问0x00000000地址,而对于一般而言,0地址通常是不可访问的___null

Android实现百度离线地图+gps定位_这段时间,因为公司项目需求,要在内网下实现地图展示及个人定位上报功能,一开始接-程序员宅基地

文章浏览阅读3.5k次,点赞2次,收藏27次。android实现百度离线地图+gps定位关于效果图第一步,添加百度地图jar包及引用第二步,下载离线地图功能第三步,GPS定位+地图展示关于  这段时间,因为公司项目需求,要在内网下实现地图展示及个人定位上报功能,一开始接到这个需求比较懵逼也以为实现起来很简单,结果…我以为的离线地图和实际的百度提供的离线地图功能相差甚远。一开始是想着将离线地图通过后台copy至接口或者资源复制,但是因为种种原因离线地图没显示出来,现在想来应该是地图加载页面写的有问题或者就是缓存问题,这个等有时间研究下吧,项目太着急,_这段时间,因为公司项目需求,要在内网下实现地图展示及个人定位上报功能,一开始接

推荐文章

热门文章

相关标签