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环境配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 盘点总结2023年Go并发库有哪些变化

    盘点总结2023年Go并发库有哪些变化

    这篇文章主要为大家介绍了2023年Go并发库的变化盘点总结,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • 深入了解Golang中的格式化输出

    深入了解Golang中的格式化输出

    fmt是Go语言中用于控制文本输出的常用标准库,文中将通过示例详细讲解一下Go语言中不同形式的格式化输出,感兴趣的小伙伴可以了解一下
    2022-11-11
  • 十个Golang开发中应该避免的错误总结

    十个Golang开发中应该避免的错误总结

    Go是一种静态类型的、并发的、垃圾收集的编程语言,由谷歌开发。开发人员在编写Go代码时总会有一些常见的错误,下面是Go语言中需要避免的十大坏错误,希望对大家有所帮助
    2023-03-03
  • Golang 断言与闭包使用解析

    Golang 断言与闭包使用解析

    这篇文章主要介绍了Golang 断言与闭包使用解析,Go中的断言用于判断变量的类型,更多相关内容需要的朋友可以参考一下
    2022-07-07
  • 基于Go实现TCP长连接上的请求数控制

    基于Go实现TCP长连接上的请求数控制

    在服务端开启长连接的情况下,四层负载均衡转发请求时,会出现服务端收到的请求qps不均匀的情况或是服务器无法接受到请求,因此需要服务端定期主动断开一些长连接,所以本文给大家介绍了基于Go实现TCP长连接上的请求数控制,需要的朋友可以参考下
    2024-05-05
  • 适合PHP同学的GoFrame框架使用体验及学习建议

    适合PHP同学的GoFrame框架使用体验及学习建议

    这篇文章主要为大家介绍了非常适合PHP同学使用的GoFrame框架设计思想使用体验及学习建议介绍,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Go源码字符串规范检查lint工具strchecker使用详解

    Go源码字符串规范检查lint工具strchecker使用详解

    这篇文章主要为大家介绍了Go源码字符串规范检查lint工具strchecker使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • go语言实现简易比特币系统之交易签名及校验功能

    go语言实现简易比特币系统之交易签名及校验功能

    这篇文章主要介绍了go语言实现简易比特币系统之交易签名及校验功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Go日志管理库zap安装及使用过程

    Go日志管理库zap安装及使用过程

    Zap是Go语言中一个高性能的日志记录库,它支持日志切割、多级别日志记录等功能,zap还支持使用Lumberjack进行日志文件的自动切割和归档,适用于需要高效日志管理的Go项目开发,本文介绍Go日志管理库zap安装及使用过程,感兴趣的朋友一起看看吧
    2024-09-09
  • GoFrame框架gredis优雅的取值和类型转换

    GoFrame框架gredis优雅的取值和类型转换

    这篇文章主要为大家介绍了GoFrame框架gredis优雅的取值和类型转换,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06

最新评论