iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么使用GO语言
  • 178
分享到

怎么使用GO语言

2023-06-16 08:06:15 178人浏览 泡泡鱼
摘要

这篇文章主要讲解了“怎么使用Go语言”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用GO语言”吧!什么是 GVMGo 语言版本管理器(GVM)是管理 Go 语言环境的开源工具。GVM

这篇文章主要讲解了“怎么使用Go语言”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用GO语言”吧!

什么是 GVM

Go 语言版本管理器(GVM)是管理 Go 语言环境的开源工具。GVM 「pkgsets」 支持安装多个版本的 Go 并管理每个项目的模块。它最初由  Josh Bussdieker 开发,GVM 与 Ruby RVM 类似,允许你为每个项目或一组项目创建一个开发环境,分离不同的 Go  版本和包依赖关系,来提供更大的灵活性,以防不同版本造成的问题。GVM 主要有以下几个特性:

  • 管理 Go 的多个版本,包括安装、卸载和指定使用 Go 的某个版本

  • 查看官方所有可用的 Go 版本,同时可以查看本地已安装和默认使用的 Go 版本

  • 管理多个 GOPATH,并可编辑 Go 的环境变量

  • 可将当前目录关联到 GOPATH

  • 可以查看 GOROOT 下的文件差异

  • 支持 Go 版本切换

安装 GVM

GVM 本质上就是一个 shell 脚本,它背后做的事情是先把源码下载下来,再用 C 做编译。所以,安装 GVM 前你需要先安装一些依赖包。

# Debian/ubuntu $ sudo apt-get install curl git mercurial make binutils bison GCc build-essential # Redhat/Centos $ sudo yum install curl $ sudo yum install git $ sudo yum install make $ sudo yum install bison $ sudo yum install gcc $ sudo yum install glibc-devel # MacOS $ xcode-select --install $ brew update $ brew install mercurial

安装好依赖环境后, GVM 的安装也很简单。官方提供了一键安装脚本,你只需直接运行就行了。

如果你使用的是 zsh 的话将前面的 bash 改为 zsh 即可,这条命令主要是检查相关依赖环境并下载 GVM 相关的文件,然后创建所需目录,并且在  .bashrc 或者 .zshrc 中加入:

[[ -s "/home/wcl/.gvm/scripts/gvm" ]] && source "/home/wcl/.gvm/scripts/gvm"

使每次登录 Shell 时都可以自动生效。

使用 GVM 安装和管理 Go 版本

一旦安装了 GVM,就可以开始使用它来安装和管理不同版本的 Go。首先,你可以用 gvm listall 命令显示可以下载和编译可用的 Go  版本。

$ gvm listall  gvm gos (available)  go1  go1.0.1  go1.0.2  go1.0.3  ...

安装特定的 Go 版本只需运行 gvm install 命令,其中 是表示要安装的版本。假设你正在处理一个使用 Go  1.12.8 版本的项目,你就可以使用 gvm install go1.12.8 命令来安装这个版本。

$ gvm install go1.12.8  Installing go1.12.8...  * Compiling...  go1.12.8 successfully installed!

安装完成后,输入 gvm list 命令后,你会看到 Go 1.12.8 版本与系统自带的 Go  版本(使用操作系统的软件包管理器打包的版本)都同时存在。

$ gvm list  gvm gos (installed)  go1.12.8  => system

不过,这时 GVM 仍然默认使用系统的 Go 版本,通过它旁边的 => 符号来表示。你可以使用 gvm use 命令来切换到新安装的 go  1.12.8 版本。

$ gvm use go1.12.8  Now using version go1.12.8  $ go version  go version go1.12.8 linux/amd64

如果不想每次敲 gvm use 指令来切换版本,你可以加上 --default 参数来指定默认使用这个版本。

$ gvm use go1.12.8 --default

是不是,很容易呢!GVM 使管理已安装的 Go 版本变得极其简单,但它不止如此!

由于 Go 1.5 使用了自举(用 Go 编译 Go),如果在系统环境完全没有 Go 命令的情况下,直接使用 gvm install go  会报错。所以,你必须先安装 Go 1.4。

# 先安装 1.4 版本的,-B 表示只安装二进制包。 $ gvm install go1.4 -B $ gvm use go1.4 $ export GOROOT_BOOTSTRAP=$GOROOT # 再安装 1.5+ 版本的 $ gvm install go1.12.8
怎么使用GO语言

使用 GVM pkgset

默认情况下,如果你通过 go get 获取一个包,它会被下载到 $GOPATH 目录中的 src 和 pkg 目录下。然后你可以使用 import  将其引入到你的 Go 程序中。然而,在不同的项目中管理相同包的不同版本就会变得困难。

GVM 通过使用「pkgsets」将项目的新目录附加到 Go 安装版本的默认 $GOPATH,类似 Linux 系统上的  $PATH,这样就可以很好地完成了项目之间包的管理和隔离。我们来看一个实例,安装一个新版本的 Go 1.12.9。

$ echo $GOPATH /home/chris/.gvm/pkgsets/go1.12.8/global $ gvm install go1.12.9 Installing go1.12.9... * Compiling... go1.12.9 successfully installed $ gvm use go1.12.9 Now using version go1.12.9

当 GVM 被告知使用一个新版本时,它将会更换一个新的 $GOPATH,gloabl pkgset 将默认使用该版本。

$ echo $GOPATH  /home/chris/.gvm/pkgsets/go1.12.9/global  $ gvm pkgset list  gvm go package sets (go1.12.9)  => global

尽管默认情况下没有安装额外的包,但是 global pkgset 中的包对于使用这个特定版本 Go 的任何项目都是可用的。

现在,假设你正在启动一个新项目,它需要一个特定的包。首先,使用 GVM 创建一个名为 introToGvm 的新的 pkgset。

$ gvm pkgset create introToGvm $ gvm pkgset use introToGvm Now using version go1.12.9@introToGvm $ gvm pkgset list gvm go package sets (go1.12.9) global => introToGvm

如上所述,一个与 pkgset 同名的新目录 introToGvm 被添加到 $GOPATH。

$ echo $GOPATH /home/chris/.gvm/pkgsets/go1.12.9/introToGvm:/home/chris/.gvm/pkgsets/go1.12.9/global

接下来,验证下新目录 introToGvm 中的目录结构。

$ cd $( awk -F':' '{print $1}' <<< $GOPATH )  $ pwd  /home/chris/.gvm/pkgsets/go1.12.9/introToGvm  $ ls  overlay pkg src

注意:新目录看起来很像普通的 $GOPATH,新的 Go 包会被 Go get 命令下载并且被添加到 pkgset 中。

gorilla/mux 按照预期添加到了 pkgset 的 $GOPATH 目录,现在你就可以与使用该 pkgset 的项目一起使用该模块了。

卸载 GVM 或指定版本 Go 语言

如果你只是想卸载某个安装好的 Go 版本,可以使用以下指令。

$ gvm uninstall go1.12.8

如果你想完全卸载掉 GVM 和 所有安装的 Go 版本,可以使用以下指令。

# 需谨慎操作  $ gvm implode

感谢各位的阅读,以上就是“怎么使用GO语言”的内容了,经过本文的学习后,相信大家对怎么使用GO语言这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 怎么使用GO语言

本文链接: https://www.lsjlt.com/news/282827.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么使用GO语言
    这篇文章主要讲解了“怎么使用GO语言”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用GO语言”吧!什么是 GVMGo 语言版本管理器(GVM)是管理 Go 语言环境的开源工具。GVM ...
    99+
    2023-06-16
  • Go语言dolphinscheduler怎么使用
    这篇文章主要介绍了Go语言dolphinscheduler怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Go语言dolphinscheduler怎么使用文章都会有所收获,下面我们一起来看看吧。自动化为什...
    99+
    2023-07-02
  • go语言中怎么使用select
    这篇文章主要介绍“go语言中怎么使用select”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“go语言中怎么使用select”文章能帮助大家解决问题。在golang语言中,select语句...
    99+
    2023-06-30
  • Go语言Time包怎么使用
    Go语言的Time包提供了一些用于处理时间的函数和类型。下面是一些常见的Time包的使用方法:1. 获取当前时间:```import...
    99+
    2023-08-30
    Go语言
  • Go语言的exec怎么使用
    本篇内容介绍了“Go语言的exec怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Exec 是 os 包中的一个子包,它可用于使用 G...
    99+
    2023-06-30
  • go语言类型断言怎么使用
    本篇内容主要讲解“go语言类型断言怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“go语言类型断言怎么使用”吧!在go语言中,类型断言是一个使用在接口值上的操作,用于检查接口类型变量所持有...
    99+
    2023-07-05
  • Go语言之Switch语句怎么使用
    这篇“Go语言之Switch语句怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go语言之Switch语句怎么使用”文...
    99+
    2023-07-02
  • 怎么使用Go语言的map
    这篇文章主要讲解了“怎么使用Go语言的map”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Go语言的map”吧!语法声明和初始化配合make使用,否则是nilvar map...
    99+
    2023-06-25
  • Go语言的WaitGroup怎么使用
    本篇内容介绍了“Go语言的WaitGroup怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!小试牛刀我们先来个简单的例子,看下&nbs...
    99+
    2023-07-02
  • go语言中mysql怎么使用
    本篇内容介绍了“go语言中mysql怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!golang支持多种数据库MySQLMySQL是一...
    99+
    2023-07-04
  • Go语言指针怎么使用
    本篇内容主要讲解“Go语言指针怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Go语言指针怎么使用”吧!结合这个例子分析一下结果:结合以往C语言的基础,画了一张图来解释为什么会有上面这些值...
    99+
    2023-07-02
  • go语言的beego怎么使用
    今天小编给大家分享一下go语言的beego怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。beego是一个使用Go语言...
    99+
    2023-07-04
  • Go语言中defer语句怎么使用
    今天小编给大家分享一下Go语言中defer语句怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.在一个函数内的def...
    99+
    2023-07-02
  • go语言中for range怎么使用
    这篇文章主要介绍“go语言中for range怎么使用”,在日常操作中,相信很多人在go语言中for range怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”go语言中for range怎么使用”的疑...
    99+
    2023-07-04
  • 怎么使用Go语言实现Spark
    这篇文章主要介绍了怎么使用Go语言实现Spark的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Go语言实现Spark文章都会有所收获,下面我们一起来看看吧。为什么使用Go语言实现SparkGo语言的成长...
    99+
    2023-07-06
  • Go语言break停止语句怎么使用
    这篇文章主要介绍“Go语言break停止语句怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Go语言break停止语句怎么使用”文章能帮助大家解决问题。在Go语言中,break停止语句用于循环...
    99+
    2023-07-05
  • Go语言中的iota怎么使用
    今天小编给大家分享一下Go语言中的iota怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一...
    99+
    2024-04-02
  • go语言怎么使用redis队列
    在Go语言中使用Redis队列可以通过以下步骤: 安装redis-go客户端库:首先需要安装Go语言的Redis客户端库,可以使用...
    99+
    2024-04-09
    go语言 redis
  • go语言多线程怎么使用
    在Go语言中,可以使用goroutine来实现多线程的功能。goroutine是Go语言中的轻量级线程,它可以在一个程序中同时执行多...
    99+
    2023-08-31
    go语言
  • Go语言的os包怎么使用
    这篇“Go语言的os包怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go语言的os包怎么使用”文章吧。Go语言的 o...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作