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

原创文章,作者:LDNXB,如若转载,请注明出处:http://www.wangzhanshi.com/n/5989.html

(0)
LDNXB的头像LDNXB
上一篇 2024年12月26日 13:15:36
下一篇 2024年12月26日 13:15:45

相关推荐

  • Go语言标准错误error全面解析

    错误类型 errorString 错误是程序中处理逻辑和系统稳定新的重要组成部分。 在go语言中内置错误如下: // The error built-in interface ty…

    Golang 2024年12月17日
  • Go语言操作MySql数据库的详细指南

    前言 go-sql-driver/mysql库是Go语言官方推荐的MySQL驱动库,可以很方便地实现对MySQL数据库的连接和操作。本文记录一下使用go-sql-driver/my…

    2024年12月26日
  • 通过client-go来操作K8S集群的操作方法

    client-go 一、client-go介绍 1. 什么是client-go? client-go是Kubernetes官方提供的,用于操作kubernetes资源的Go语言客户…

    2024年12月17日
  • 一文详解Go语言中的Defer机制

    在Go语言中,defer是一个关键字,用于确保资源的清理和释放,特别是在函数中创建的资源。defer语句会将其后的函数调用推迟到包含它的函数即将返回时执行。这使得defer成为处理…

    Golang 2024年12月17日
  • Go项目的目录结构详解

    项目目录结构如何组织,一般语言都是没有规定。但Go语言这方面做了规定,这样可以保持一致性。 1、一般的,一个Go项目在GOPATH下,会有如下三个目录: 复制代码 代码如下:|&#…

    Golang 2024年12月29日
  • Go语言中如何进行包管理

    Go语言是一种编译型、静态类型、并发型、并具有垃圾回收功能的编程语言。在Go语言中,包(package)是函数和数据的集合,用于组织代码,实现模块化开发。通过包,开发者可以将相关的…

    Golang 2024年12月17日
  • 一起聊聊Go语言中的语法糖的使用

    前言 由于工作变动,我现在已经开始使用Golang了。用了一段时间之后,我发现Golang(后面简称Go)中的语法糖还蛮多的,有些语法糖还让会让人很懵逼。那么接下来,让我以一个曾经…

    Golang 2024年12月29日
  • Go语言中iota的具体使用

    1. 简介 在Go语言中,iota是一个常量生成器,主要用于生成一系列相关值,常被用于枚举。其功能强大,常见于日常开发中的一些常量定义、位操作等场景。 2. 基础用法 packag…

    Golang 2024年12月17日
  • golang中gin框架接入jwt使用token验证身份

    jwt jwt的原理和session有点相像,其目的是为了解决rest api中无状态性 因为rest接口,需要权限校验。但是又不能每个请求都把用户名密码传入,因此产生了这个tok…

    Golang 2024年12月26日
  • Go语言实现本地缓存的策略详解

    1. Go语言本地缓存的实现 Go语言实现本地缓存是非常容易的,考虑到语言本身的特性,只要解决了“并发安全”问题,基本就可以在生产环境中使用了,常见的解决方…

    2024年12月26日

发表回复

登录后才能评论