脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Golang - Go语言简介和环境配置

Go语言简介和环境配置

2022-07-13 13:05吃个大份黄焖鸡 Golang

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
1. 自动垃圾回收

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

?
1
2. 函数可以返回多个值

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

?
1
3. 并发编程

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

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

Go 安装

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

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

Linux平台安装Go

?
1
2
3
4
5
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

下载:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
下载路径: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

检查

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

IDE安装

Linux平台Vim 配置

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

下载 Vim 配置工具

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

2.启动安装脚本:

?
1
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退出

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ 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 天或自行破解

测试工具安装

Linux平台Curl工具

安装curl

使用方法:

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

原文链接:https://blog.csdn.net/m0_63770801/article/details/125696448

延伸 · 阅读

精彩推荐
  • GolangGo语言非main包编译为静态库并使用的示例代码

    Go语言非main包编译为静态库并使用的示例代码

    本文以Windows为例,介绍一下如何将Go的非main包编译为静态库,用户又将如何使用。通过实际项目创建常规工程,通过示例代码给大家介绍的非常详细,需要...

    witton12192021-08-14
  • GolangGO语言运行环境下载、安装、配置图文教程

    GO语言运行环境下载、安装、配置图文教程

    这篇文章主要介绍了GO语言运行环境下载、安装、配置图文教程,需要的朋友可以参考下 ...

    脚本之家21852020-05-05
  • Golanggoland中文件头自动注释的操作

    goland中文件头自动注释的操作

    这篇文章主要介绍了goland中文件头自动注释的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    jinyidong16432021-02-24
  • Golanggolang 字符串比较是否相等的方法示例

    golang 字符串比较是否相等的方法示例

    这篇文章主要介绍了golang 字符串比较是否相等的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋...

    皿小草11692021-03-29
  • Golang详解golang碎片整理之 fmt.Scan

    详解golang碎片整理之 fmt.Scan

    本文介绍了从golang语言中fmt包从标准输入获取数据的Scan系列函数、从io.Reader中获取数据的Fscan系列函数以及从字符串中获取数据的Sscan系列函数的用法,感...

    霍帅兵4082020-05-25
  • GolangGolang开发中如何解决共享变量问题

    Golang开发中如何解决共享变量问题

    Go提供了传统通过共享变量,也就是共享内存的方式来实现并发。这篇文章会介绍 Go提供的相关机制,对Golang共享变量相关知识感兴趣的朋友一起看看吧...

    冰乐8622021-11-14
  • Golanggolang中strconv.ParseInt函数用法示例

    golang中strconv.ParseInt函数用法示例

    这篇文章主要介绍了golang中strconv.ParseInt函数用法,实例分析了strconv.ParseInt函数将字符串转换为数字的简单使用方法,需要的朋友可以参考下 ...

    dotcoo14852020-04-30
  • Golanggolang中interface接口的深度解析

    golang中interface接口的深度解析

    什么是interface,简单的说,interface是一组method的组合,下面这篇文章主要给大家深度解析了关于golang中的interface接口,文中通过示例代码介绍的非常详细,...

    D_Guco5032020-05-11