Go语言简介和环境配置

 更新时间:2022年07月12日 17:35:53   作者:吃个大份黄焖鸡  
Go语言保证了既能到达静态编译语言的安全和性能,又达到了动态语言开发速度和易维护性,有人形容Go语言:Go= C + Python , 说明Go语言既有C静态语言程序的运行速度,又能达到Python动态语言的快速开发,这篇文章主要介绍了Go介绍和环境配置,需要的朋友可以参考下

Go语言介绍

1. Go语言的由来

Go语言亦叫Golang语言,是由谷歌Goggle公司推出。

传统的语言比如c++,大家花费太多时间来学习如何使用这门语言,而不是如何更好的表达写作者的思想,同时编译花费的时间实在太长,对于编写-编译-运行这个链条来说周期太长。动态语言如Python,由于没有强类型的约束,很多问题需要在运行时发现,这种低级错误更应该交给编译器来发现。于是Go诞生了。

2. Go语言的特点

Go语言保证了既能到达静态编译语言的安全和性能,又达到了动态语言开发速度和易维护性,有人形容Go语言:Go= C + Python , 说明Go语言既有C静态语言程序的运行速度,又能达到Python动态语言的快速开发。Go语言有以下
特性:

1. 自动垃圾回收

C/C++最头疼的就是指针问题,一不小心就野指针了或者又越界了。在Go语言里再也不用担心,也不用考虑delete或者free,系统自动会回收。

2. 函数可以返回多个值

这个很神奇,大多数语言只能返回一个值,Go语言可以返回多个值。这个功能使得开发者再不用绞尽脑汁的想到底怎么返回值的设计,也不用为了传值专门定义一个结构体。

3. 并发编程

Go语言天然并发,只需要关键字“go”就可以让函数并发执行,使得并发编程变得更为简单,这也是Go语言最大的优势。

4. 没有依赖地狱, 甚至是glibc
5. 编译一次,随处拷贝,部署极为方便

Go 安装

Go 有多种安装方式,比如 Go 源码安装、Go 标准包安装、第三方工具(yum、apt-get 等)安装。
了解一下两个环境变量:
GOROOT:GOROOT 就是 Go 的安装路径
GOPATH:GOPATH 是作为编译后二进制的存放目的地和 import 包时的搜索路径(其实也是你的工作目录)
GOPATH目录结构:

需要把GOPATH中的可执行目录也配置到环境变量中, 否则你自行下载的第三方go工具就无法使用了。

Linux平台安装Go

go_code // (例go_code为GOPATH目录)
-- bin // golang编译可执行文件存放路径,可自动生成。
-- pkg // golang编译的*.a中间文件存放路径,可自动生成。
-- src // go源码路径。按照golang默认约定,go run,go install等命令的当前工作路径(即在此路
径下执行上述命令)。

使用 Linux,可以用如下方式快速安装。

  • 设置环境变量

在 ~/.bashrc 中添加 GOPATH 变量

添加完后,source ~/.bashrc

  • 检查

看到 go version 命令输出 go 版本号 go1.10.2 linux/amd64,说明 go 命令安装成功。

Windows平台安装Go

下载:

下载路径:https://golang.google.cn/dl/go1.18.3.windows-amd64.msi
安装msi文件
将安装路径添加到环境变量 :
如:go安装到 C:\Program Files\Go目录,则添加环境变量GOPATH: C:\Program Files\Go\
并将%GOPATH%\bin添加到PATH

$ wget https://golang.google.cn/dl/go1.18.3.linux-amd64.tar.gz
$ tar -xzvf go1.18.3.linux-amd64.tar.gz
$ mv go /usr/local/

# 安装目录
export GOROOT=/usr/local/go
# 代码目录
export GOPATH=~/code
export PATH=$PATH:$GOPATH:$GOROOT/bin

$ go version
go version go1.18.3 linux/amd

$ brew install go
$ go version
# go version go1.18.3 darwin/amd

检查

打开cmd命令行,输入:go version

IDE安装

Linux平台Vim 配置

Vim 是 Linux 下开发的最基本工具,可以配置一个 Vim IDE。我们可以使用开源的安装工具,这里直接用该工具实现
一键配置,具体配置步骤如下。

下载 Vim 配置工具

2. 进入 lexVim 目录,下载 go ide 需要的二进制文件:

2.启动安装脚本:

启动后,会进入一个交互环境,依次输入: 1 - > yourname -> youremail@qq.com,脚本最后输出
this vim config is success !说明安装成功。很简单,只需 3 个选择即可安装成功,配置 IDE so easy。

Vim IDE 常用功能

在 Go 项目开发中最常用的功能是(!!必会!!):
gd 或者ctrl + ] 跳转到对应的函数定义处 => 如果没有反应请等待一下,可能慢
ctrl + o 跳转到前一个位置
打开帮助,:q退出
打开目录窗口,再按会关闭目录窗口
最近文件列表,:q退出
添加函数注释
其他:
展示tag,再按会关闭tag窗口
在 Vim 的上面打开文件查找窗口,:q退出

$ git clone https://github.com/lexkong/lexVim

$ cd lexVim
$ git clone https://github.com/lexkong/vim-go-ide-bin

$ ./start_vim.sh

ctrl + t 标签退栈
<F9> 生成供函数跳转的 tag

在代码间跳来跳去,将光标放在某个函数调用上,按 ctl + ] 就会跳到函数的定义处,按 ctrl + o 就会跳回来。
退出某模式的窗口,使用末行模式 :q即可
注意:在vim中粘贴文本,需要 :set paste就能正常粘贴好了!
更多 Go vim ide 功能请参考 Vim IDE 功能。

Windows平台GoLand安装

下载地址:https://www.jetbrains.com/go/
可试用 30 天或自行破解

脚本之家下载:https://www.jb51.net/article/198515.htm

测试工具安装

Linux平台Curl工具

安装curl

使用方法:

https://www.ruanyifeng.com/blog/2011/09/curl.html
https://www.ruanyifeng.com/blog/2019/09/curl-reference.html

Windows平台 APIPOST安装

下载地址:https://www.apipost.cn/?utm_source=10039&bd_vid=
无特殊需求下一步安装即可

到此这篇关于Go介绍和环境配置的文章就介绍到这了,更多相关go环境配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Go 字符串格式化的实例代码详解

    Go 字符串格式化的实例代码详解

    这篇文章主要介绍了Go 字符串格式化的实例代码详解,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • Go语言实现猜谜小游戏

    Go语言实现猜谜小游戏

    这篇文章主要为大家介绍了Go语言实现猜谜小游戏示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • Go语言panic和recover的用法实例

    Go语言panic和recover的用法实例

    panic()和recover()是Go语言中用于处理错误的两个重要函数,本文主要介绍了Go语言panic和recover的用法实例,panic()用于中止程序并引发panic,而recover()用于捕获panic并恢复程序的执行,感兴趣的可以了解一下
    2024-01-01
  • 详解go如何使用xorm在执行前改写 SQL

    详解go如何使用xorm在执行前改写 SQL

    这篇文章主要为大家介绍了详解go如何使用xorm在执行前改写SQL的实现过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • golang将多路复异步io转成阻塞io的方法详解

    golang将多路复异步io转成阻塞io的方法详解

    常见的IO模型有阻塞、非阻塞、IO多路复用,异,下面这篇文章主要给大家介绍了关于golang将多路复异步io转成阻塞io的方法,文中给出了详细的示例代码,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-09-09
  • GoLang中sql.Exec()报错解决办法

    GoLang中sql.Exec()报错解决办法

    这篇文章主要给大家介绍了关于GoLang中sql.Exec()报错的解决办法,文中通过代码介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-01-01
  • 在 Go 语言中使用 regexp 包处理正则表达式的操作

    在 Go 语言中使用 regexp 包处理正则表达式的操作

    正则表达式是处理字符串时一个非常强大的工具,而 Go 语言的 regexp 包提供了简单而强大的接口来使用正则表达式,本文将介绍如何在 Go 中使用 regexp 包来编译和执行正则表达式,以及如何从文本中匹配和提取信息,感兴趣的朋友一起看看吧
    2023-12-12
  • Go语言并发之Sync包的6个关键概念总结

    Go语言并发之Sync包的6个关键概念总结

    这篇文章主要为大家详细介绍了Go语言并发中Sync包的6个关键概念,文中的示例代码讲解详细,对我们深入学习Go语言有一定的帮助,需要的可以参考一下
    2023-05-05
  • Golang中函数(Function)和方法(Method)的区别详解

    Golang中函数(Function)和方法(Method)的区别详解

    在Golang中,大家必然会频繁使用到函数(Function)和方法(Method),但是有的同学可能并没有注意过函数和方法的异同点,函数和方法都是用来执行特定任务的代码块,虽然很相似,但也有很大的区别,所以本文将详细讲解函数和方法的定义以及它们的异同点
    2023-07-07
  • Go-ethereum 解析ethersjs中产生的签名信息思路详解

    Go-ethereum 解析ethersjs中产生的签名信息思路详解

    这篇文章主要介绍了Go-ethereum 解析ethersjs中产生的签名信息,我们解析签名的需要知道,签名的消息,签名,和公钥,按照这个思路,我们可以通过ethers实现消息的签名,也可以通过go-ethereum实现,需要的朋友可以参考下
    2022-08-08

最新评论