go-001-环境部署,IDEA插件
一、下载安装
https://golang.org/dl/
下载之后安装即可
官网地址:https://golang.org/
1.1、mac上安装go
1、安装Homebrew
安装命令:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Homebrew的使用:
(1)安装软件:brew install 软件名,例如:brew install wget
(2)搜索软件:brew search 软件名
(3)卸载软件:brew uninstall 软件名
(4)更新软件:brew upgrade 软件名,例如:brew upgrade git
(5)查看使用brew已安装的软件列表:brew list
(6)查看软件信息:brew info /home 软件名,例如:brew info git/brew home git
(7)查看哪些已安装的程序需要更新:brew outdated
brew安装好之后可以使用上述的一些命令来测试一下是否安装成功,例如使用brew list来查看一下当前brew安装的软件列表
2、使用brew安装go
1》、安装命令:
brew install go
2》、检查:
输入brew info go或者go env即可查看当前安装的golang版本信息
3》、配置go路径环境
主要是GOROOT和GOPATH
GOROOT:就是go的安装环境
GOPATH:作为编译后二进制的存放目的地和import包时的搜索路径。其实说通俗点就是你的go项目工作目录。通常情况下GOPATH包含三个目录:bin、pkg、src。
src目录下主要存放go的源文件
pkg目录存放编译好的库文件,主要是*.a文件;
bin目录主要存放可执行文件
注意:千万不要把GOPATH设置成go的安装路径,可以自己在用户目录下创建一个目录,例如mygo
一般安装好go之后,使用go env查看一下当前环境。此时显示出来的GOROOT就是你使用brew安装go的安装目录,这个路径要记下来。接下来要在bash_profile文件中进行配置。
使用
vim ~/.bash_profile
然后在这个文件中进行编辑,下面以我的电脑为例,路径这种要根据不同人的情况而定
GOROOT=/usr/local/Cellar/go/1.10.1/libexec
export GOROOT
export GOPATH=/Users/lihongxu/work/mygo
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN:$GOROOT/bin
GOROOT: go安装目录
GOPATH:go工作目录
GOBIN:go可执行文件目录
PATH:将go可执行文件加入PATH中,使GO命令与我们编写的GO应用可以全局调用
编辑完之后退出保存文件,然后使用
source ~/.bash_profile
使之生效,然后再使用go env查看当前环境,可以发现已经是你配置文件中设置的路径环境了
3、安装IDE:Goland
百度搜Goland,去官网下就行。
4、测试配置
在设置的工作目录下,也就是GOPATH的路径下,使用Goland创建一个工程也好,或者直接在这个路径下创建一个.go文件也好,进行测试。在测试时,一定要注意以下几点:
(1)注意在运行单个的go文件时,package一定要是main才行,否则会报错“go run : cannot run non-main package”,导致无法运行
(2)import fmt没有用双引号“”包裹名称。import包名必须带引号,多个包名可以使用多次import,也可以将包名用引号括起来后,用换行符连接,然后在最外层包裹圆括号。
(3)对go run/ go install/ go build等的理解和使用
(4)import不能引用代码中没有使用的包,否则编译时会报错“imported and not used: xxx”
(5)“{”必须紧跟代码,不能在新行中出现
(6)main作为程序入口,不能携带参数,命令行参数使用os.Args变量获取
5、go run/ go install/ go build / go get的区别
go run 运行当个.go文件
go install 在编译源代码之后还安装到指定的目录
go build 加上可编译的go源文件可以得到一个可执行文件
go get = git clone + go install 从指定源上面下载或者更新指定的代码和依赖,并对他们进行编译和安装
二、IDEA安装插件
在IDEA中,搜索golang,注意地址是:https://github.com/go-lang-plugin-org,安装
配置:File→other setting→Default Project Structure→Platform Setting→SDKs→添加go sdk选择上一步安装的即可
三、新建一个go语言项目
new→project→go→下一步,选择即可
四、编写demo
建立一个src目录,创建一个main.go文件即可
编写代码
package main
import "fmt"
func main() {
fmt.Println("hello world");
}
运行调试即可。
学习参考教程:http://www.runoob.com/go/go-tutorial.html
go-001-环境部署,IDEA插件的更多相关文章
- 基于python3.6.6的scrapy环境部署+图像识别插件安装
一.Python3.6.6安装1.安装依赖的二进制软件包yum -y install zlib zlib-devel bzip2 bzip2-devel ncurses ncurses-devel r ...
- ubuntu12.04+hadoop2.2.0+zookeeper3.4.5+hbase0.96.2+hive0.13.1伪分布式环境部署
目录: 一.hadoop2.2.0.zookeeper3.4.5.hbase0.96.2.hive0.13.1都是什么? 二.这些软件在哪里下载? 三.如何安装 1.安装JDK 2.用parallel ...
- Jenkins实现生产环境部署文件的回滚操作(Windows)
由于dotnet项目的生产环境环境部署工具比较少,所以我使用jenkins作为生产环境的自动化部署工具. 既然有回滚操作,那么就会有部署操作:要实现回滚,先要实现部署的操作,我在jenkins搭建了一 ...
- Flume环境部署和配置详解及案例大全
flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统.支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(比如文本.HDF ...
- Ceph Jewel 10.2.3 环境部署
Ceph 测试环境部署 本文档内容概要 测试环境ceph集群部署规划 测试环境ceph集群部署过程及块设备使用流程 mon节点扩容及osd节点扩容方法 常见问题及解决方法 由于暂时没有用到对象存储,所 ...
- Jmeter+Ant+Jenkins接口自动化测试(一)_环境部署
前言: 2017年最后一个月份,今天抽出时间把之前的一些记录分享出来,也为今年画上个简单的句号吧,无论好与坏,无论成功与失败,简单的记忆,不要留下点点空白. 特别提示: 知识是用来分享的,但是也要尊重 ...
- kafka 基础知识梳理及集群环境部署记录
一.kafka基础介绍 Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特 ...
- 深度学习Tensorflow生产环境部署(上·环境准备篇)
最近在研究Tensorflow Serving生产环境部署,尤其是在做服务器GPU环境部署时,遇到了不少坑.特意总结一下,当做前车之鉴. 1 系统背景 系统是ubuntu16.04 ubuntu@ub ...
- MySQL+MGR 单主模式和多主模式的集群环境 - 部署手册 (Centos7.5)
MySQL Group Replication(简称MGR)是MySQL官方于2016年12月推出的一个全新的高可用与高扩展的解决方案.MGR是MySQL官方在5.7.17版本引进的一个数据库高可用与 ...
- Centos7.5基于MySQL5.7的 InnoDB Cluster 多节点高可用集群环境部署记录
一. MySQL InnoDB Cluster 介绍MySQL的高可用架构无论是社区还是官方,一直在技术上进行探索,这么多年提出了多种解决方案,比如MMM, MHA, NDB Cluster, G ...
随机推荐
- SFTP文件下载
FTP并不是唯一的上传文件的方法,大部分情况下都可使用sftp代替.sftp是什么呢? sftp是Secure File Transfer Protocol的缩写,安全文件传送协议.可以为传输文件提供 ...
- linux CentOS 7 安装 RabbitMQ 3.6.3, Erlang 19.0
1. 安装erlang 安装依赖环境 yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixO ...
- 简单mysql类
---恢复内容开始--- class mysql { private $host; private $user; private $pass; private $database; private $ ...
- 删除sql注入
), );--过滤字符串 字符串及之后的数据将被替换为空 set @FilterStr='</title><style>.alx2{'; set @curTable='user ...
- <转>13个实用的Linux find命令示例
注:本文摘自青崖白鹿,翻译的妈咪,我找到了! -- 15个实用的Linux find命令示例, 感谢翻译的好文. 除了在一个目录结构下查找文件这种基本的操作,你还可以用find命令实现一些实用的操作, ...
- IOS设计模式第七篇之观察者设计模式
版权声明:原创作品,谢绝转载!否则将追究法律责任. 观察者设计模式 在观察者设计模式里面,一个对象通知其他的对象一些状态的改变.涉及这些对象不需要知道另一个对象---因此鼓励解耦设计模式.这个设计模式 ...
- springbatch---->springbatch的使用(二)
这里我们对springbatch做一个比较深入的学习例子,解压文件,读取文件内容过滤写入到数据库中.如果你掉进了黑暗里,你能做的,不过是静心等待,直到你的双眼适应黑暗. springbatch的使用案 ...
- 【Spring源码深度解析学习系列】注册解析的BeanDefinition(五)
对于配置文件,解析和装饰完成之后,对于得到的beanDefinition已经可以满足后续的使用要求了,还剩下注册,也就是processBeanDefinition函数中的BeanDefinitionR ...
- HTML - 网页特殊字符大全(转)
原文地址请跳转:https://blog.csdn.net/Iversons/article/details/78996776
- python基础知识-GUI编程-TK-StringVar
1.如何引出StringVar 之前一直认为StringVar就是类似于Java的String类型的对象变量,今天在想要设置StringVar变量的值的时候,通过搜索发现StringVar并不是pyt ...