【环境篇】搭建golang开发环境

学习一门语言,很多人都会是从搭建环境开始。有的语言的环境比较复杂,而有的语言环境很简单。对于go而言,说简单,的确不难,但有些概念需要先对其有所理解,才知道为什么这么用。网上对于怎么搭建一个golang开发环境已有了很多的教程,在这里我会简单介绍,不做过多描述。本篇文章仅对一些概念进行介绍,以及分享对一些我本人搭建开发环境的心得与技巧,如有错误,欢迎指正和交流。

搭建golang环境

1.到golang下载地址下载对应环境的安装包或者源码,若是Linux环境的话,将源码包下载解压之后,放至/usr/local/(实际上放至合适位置即可,只要把它添加进PATH就行),如:

export PATH=$PATH:/usr/local/go/bin

2.配置GOPATH、GOROOT,这里可能需要解释一下,对于新手来说,肯定不熟悉这两个环境变量的意义。

GOROOT:golang的安装目录。

GOPATH:go的工作空间,在GOPATH下会有三个目录:src,bin,pkg。

src:存放源码(在不设置go mod的情况下,go get的包放至这里,你自己的项目源码也可以放在这里);

bin:编译后的可执行文件放置的位置,如果在你项目go install,生成的可执行文件会放在此处;

pkg:存放编译时产生的文件(.a文件)并根据平台进行归档,比如,windows64下产生的文件放在windows_amd64目录下,通常情况下,我们不会太关心这些文件。不过在go module包管理方式下,pkg目录变得受人关注了,?依赖的第三方包被下载到了$GOPATH/pkg/mod路径下,而不是src文件夹。

3.下载一个合适的IDE,我个人比较喜欢用Goland,选择一个适合自己的IDE很重要,也有人喜欢vs code,这没有关系,只要自己使用顺手就行。

4.简单写段代码测试一下,go的安装情况如何,在$GOPATH/src下创建一个目录作为测试项目,创建一个main.go文件,代码如下:

package main

import (
    "fmt"
)

func main() {
    fmt.Print("Hello world!")
}

接着在项目根目录下go run main.go或者像我一样在IDE里面直接点击一下运行按钮即可。可以说搭建一个golang环境至此已经结束,就这么简单?就这么简单,但还有其他事情可以继续说下去,接下来我会分享一下我平时的开发习惯或者经验。

实用的golang开发环境技巧

1.利用虚拟机共享目录来应对不同环境

有这样一个场景:有个go项目,它的打包方式是make,但是我们想在Windows下编写代码,在Windows下正常情况下没有make工具,而Linux有。当然有人会提出,那就在Windows下安装相应的make工具就好了,的确如此,这样就解决问题了。我接下来所要讲的技巧权当做一种另外的解题思路。
首先,安装一个Linux虚拟机,创建好之后设置共享目录:

在我的Windows系统的D盘下有一个share目录,我将它共享到了虚拟机里面,并在Linux中为它创建了一个软连接,这样方便我查看和修改文件。share目录下的go目录即为我的GOPATH,我将虚拟机中的GOPATH设置成了同一个路径,这样子就可以在两个系统中共享同一份下载的源码。好了,现在我们可以在Windows下打代码,在Linux下编译了(有个Linux环境莫名的有安全感)。

2.利用docker和docker-compose进行开发

能够写一段简单的打印“hello world”的代码就证明你的开发环境搭建完毕了吗?很多时候,初学者看到的其他golang入门文章到此就结束了,但我觉得还有些可以继续进步的地方。很多项目会用到mysql、reids等,下面我会用docker和docker-compose为我们的项目提供支持。我的操作思路是在虚拟机安装docker和docker-compose,并安装mysql等,然后将端口转发出来。
① 在虚拟机中安装docker和docker-compose;
② 将创建工作目录,在该目录下创建一个docker-compose.yaml,接着运行如下:

version: ‘3‘
services:
  mysql:
    container_name: mysql
    image: mysql:5.6
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: "123456"
      MYSQL_ROOT_HOST: "%"
    volumes:
      - "./data:/var/lib/mysql"           # 挂载数据目录
      - "./config:/etc/mysql/conf.d"      # 挂载配置文件目录
$ docker-compose up -d

③ 将对应端口转发出来:

④ 在Windows下用熟手的工具去操作,可以用navicat等工具,我个人比较喜欢都在IDE里执行:

如此一来,我们就可以利用docker和docker-compose创建一些我们需要的组件,并且在Windows和Linux下都连接成功。这么做有一些好处,我们可以在Windows下尽情的编码和测试,在Linux下去做编译和打包工作。不过,我并没有很详细地将这其中的操作过程写出来,这篇文章里主要提供一些思路,如有人有兴趣,我以后会写一篇跟工具有关的文章。

3.golang版本的选择

我在看官网的文档时,发现了一个有趣的东西,貌似平时没有很多人去关注。

Installing extra Go versions

It may be useful to have multiple Go versions installed on the same machine, for example, to ensure that a package‘s tests pass on multiple Go versions. Once you have one Go version installed, you can install another (such as 1.10.7) as follows:

$ go get golang.org/dl/go1.10.7
$ go1.10.7 download

The newly downloaded version can be used like?go:

$ go1.10.7 version
go version go1.10.7 linux/amd64

All Go versions available via this method are listed on?the download page. You can find where each of these extra Go versions is installed by looking at its?GOROOT; for example,?go1.10.7 env GOROOT. To uninstall a downloaded version, just remove its?GOROOT?directory and the?goX.Y.Z?binary.

这段文本是在说你可以通过go get的方式去安装其他的go版本,这种方式也比较简单。但应该很少人会有这样的需求了吧,因为一般来讲,go的版本安装最新的就行了,go的兼容做得很好,不会因为你的代码是几年之前写的就运行不起来。

小结

本篇文章看起来似乎不是很适合完完全全的新手,比如用到了docker、docker-compose,没错,是这样的,我的初衷是分享我的经验,然后提升自己,而不是写一篇网上已经有的文章。如果有人对我的文章有兴趣的话,我也愿意在有空的时候交流交流。



欢迎关注我的公众号:onepunchgo,会整理相关的文档和资料。

原文地址:https://blog.51cto.com/14664952/2466515

时间: 2024-11-06 07:37:01

【环境篇】搭建golang开发环境的相关文章

Windows下visual studio code搭建golang开发环境

Windows下visual studio code搭建golang开发环境 序幕 其实环境搭建没什么难的,但是遇到一些问题,主要是有些网站资源访问不了(如:golang.org),导致一些包无法安装,最终会导致环境搭建失败,跟据这个教程几步,我们将可以快速的构建golang的开发环境. 开发环境: 一.安装 这里我用需要安装一些工具: 1.Visual Studio Code 1.0.0 2.Golang下载 这里我使用的是Go1.6. 3.git下载 这一步跟建环境没什么关系, 但是之后要引

windows环境下搭建ffmpeg开发环境

ffmpeg是一个开源.跨平台的程序库,可以使用在windows.linux等平台下,本文将简单讲解windows环境下ffmpeg开发环境搭建过程,本人使用的操作系统为windows 7,集成开发环境为Visual Studio 2005,ffmpeg版本为2.2.有人可能会说都什么年代了,还VS 2005,现在VS 2010/2012/2013都出了.本人电脑也安装了VS2010,每次打开,伴随着硬盘指示灯的闪烁,以及硬盘的吱吱响声,过了许久才弹出闪屏页面,此时你的思绪可能已经飘到了南极,启

Windows环境下搭建Objective-C开发环境

Windows环境下搭建Objective-C开发环境 目前来说,如果真的想用Xcode来运行Objective-C程序,那么可以用虚拟机装Mac OS X或者装黑苹果(在PC机上安装苹果的系统,不建议),不过这两种方式都有些麻烦,以下介绍GNUstep以及Code blocks来实现,具体方法如下. 在我的云盘下载所需工具:链接: http://pan.baidu.com/s/1i34b8wP 密码: wd9e 解压后按照一下顺序进行安装 gnustep-core-0.28.0-setup.e

搭建Golang开发环境

Go语言是谷歌 2009 年首次推出并在 2012 年正式发布的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性.谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去10多年间软件开发的难度令人沮丧.Google 对 Go 寄予厚望,其设计是让软件充分发挥多核心处理器同步多工的优点,并可解决面向对象程序设计的麻烦.它具有现代的程序语言特色,如垃圾回收,帮助开发者处理琐碎但重要的内存管理问题.Go 的速度也非常快,几乎和 C 或 C++ 程序一样快

Windows环境 和 Linux环境下搭建Qt开发环境

原文链接:  http://blog.csdn.net/duxinfeng2010/article/details/8227548 此处仅适用windows下安装: 1.解压缩MinGW-gcc440_1.zip.将解压后的文件夹复制至C盘根目录下. 2.安装qt-creator-win-opensource-2.5.2. 3.安装qt-win-opensource-4.7.3-mingw.不要更改默认安装目录. 4.打开QT creator,菜单-->工具-->选项-->构建和运行(左

【大数据系列】windows环境下搭建hadoop开发环境从hadoop URL读取数据

前言 搭建完hadoop集群之后在windows环境下搭建java项目进行测试 操作hdfs中的文件 版本一 package com.slp.hadoop274.hdfs; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;

Ubuntu下搭建Golang开发环境

Golang安装及配置 下载安装文件,当前最新版本为1.4.2,go1.4.2.linux-amd64.tar.gz . 将安装文件解压至指定目录: 1 # sudo tar -zxvf go1.4.2.linux-amd64.tar.gz -C /usr/local/ 编辑 /etc/profile 文件添加环境变量: export GOROOT=/usr/local/go export GOBIN=$GOROOT/bin export PATH=$PATH:$GOBIN export GOP

编程语言之Intellij搭建Golang开发环境

1.File->Settings->Plugins->Browse repositories,输入Go查询,看右侧说明确认是正确的go插件即可安装 打开File->Settings->Languages & Frameworks,里面会多出Go的设置菜单 2.新建project工程,默认即可 右键test.ho,选择"Run 'test.go'"即可 小Tips 1.提示GOPATH is empty 解决方法: a.新建文件夹(这里我的是&quo

Win7环境下搭建Go开发环境,基于VSCode编辑器

一.在搭建的时候参考以下文章 http://www.cnblogs.com/zsy/archive/2016/02/28/5223957.html http://blog.csdn.net/hil2000/article/details/51714607 http://www.cnblogs.com/mubing/p/5820038.html http://www.golangtc.com/t/57d3961db09ecc1635000170 二.准备(将所有需要的软件下载下来) 1.VSCod