Go语言安装及开发环境配置

news2024/11/24 0:40:49

目录

官网

国内

Linux(CentOS & Ubuntu)安装

环境变量设置

命令行下开发

开发模式执行

编译

IDE下开发

插件安装

安装依赖工具

运行

常见问题

1、dial tcp 172.217.160.113:443: i/o timeout

2、VS Code不能完美显示zsh问题


官网

访问Golang官网的下载链接,可以直接下载安装包,访问地址为:All releases - The Go Programming Language 

/images/2022-06-13-20-37-46.png

国内

国内也有很多做了Go镜像的站点,如果被墙,也可以从以下地址下载:

  • Go下载 - Go语言中文网 - Golang中文社区

Linux(CentOS & Ubuntu)安装

1
2
3
4
# Block if you can not visit official website
curl -O https://golang.google.cn/dl/go1.18.1.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.18.1.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin

环境变量设置

众所周知,由于墙的原因,在后期下载Go包时,并不是非常方便,所以建议提前设置好环境变量,否则会遇到常见问题1中的错误信息。以下三个地址,任选其一就可以:

1
2
3
4
# ~/.bashrc
export GOPROXY=https://goproxy.cn
export GOPROXY=https://mirrors.aliyun.com/goproxy/
export GOPROXY=https://goproxy.cn

命令行下开发

如果你和我一样使用VIM开发,可以使用这样的方式进行调试和编译

开发模式执行

1
go run main.go

编译

编译后得到可执行文件

1
go build main.go

编译后的大小,源文件是133B,编译后是1.8M

1
2
-rwxr-xr-x  1 ray  staff   133B  1  1  2021 hello.go
-rwxr-xr-x  1 ray  staff   1.8M  4 13 08:59 hello

IDE下开发

这个选择因人而异,每一种IDE都可以支持Go语言,这里推荐微软的VS Code,对于很多语言都有比较好的支持,对于我这样的VIM用户也可以响应的Mapping。

插件安装

对于常使用VS Code,这个步骤不陌生,主要是扩展语言的支持,我安装了前两个插件。 

/images/2022-06-13-20-38-12.png

安装依赖工具

注意:在执行该步骤前,建议参考常见问题1,进行环境变量配置,防止由于网络问题导致失败 使用快捷键打开命令面板:

  • Windows: Shift + Ctrl + P
  • Mac: Shift + Command + P

/images/2022-06-13-20-38-30.png

 

/images/2022-06-13-20-38-37.png

 

/images/2022-06-13-20-38-47.png

运行

我们可以在VS Code中打开Terminal方式执行命令,当然你也可以利用IDE的相关特性。我们在VS Code中按【Command + Shift + 】,就是ESC下面的【】,可以快速打开终端执行相关命令 

/images/2022-06-13-20-38-58.png

常见问题

1、dial tcp 172.217.160.113:443: i/o timeout

在安装Go模块时(go get命令),由于众所周知的问题,可能无法顺利方法,建议在环境变量添加代理,以下地址任选其一就可以。

1
2
3
4
# ~/.bashrc
export GOPROXY=https://goproxy.cn
export GOPROXY=https://mirrors.aliyun.com/goproxy/
export GOPROXY=https://goproxy.cn

2、VS Code不能完美显示zsh问题

该问题的解决参考了:解决Vscode Terminal 中无法正常显示powerdevel9主题样式的问题_vscode hack nerd font-CSDN博客 在我的VS Code中打开zsh terminal时,显示的不够完美,出现红框中标识的问题。

/images/2022-06-13-20-41-09.png

但是在iTerm中显示是这样的

/images/2022-06-13-20-41-18.png

首先要获取iTerm使用的非Ascii字符集

/images/2022-06-13-20-41-26.png

在VS Code里,使用【Command + ,】打开字体设置,添加’Hack Nerd Font'

/images/2022-06-13-20-41-37.png

配置完成后,立即生效

/images/2022-06-13-20-41-46.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1415815.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

matplotlib 波士顿房价数据及可视化 Tensorflow 2.4.0

matplotlib 波士顿房价数据及可视化 Tensorflow 2.4.0 目录 matplotlib 波士顿房价数据及可视化 Tensorflow 2.4.0 1. 认识 1.1 kears 1.2 kears常用数据集 2. 波士顿房价数据及可视化 2.1 下载波士顿房价数据集 2.2 展示一个属性对房价的影响 2.3 将是三个属性全部展…

Redis数据类型及底层实现

文章目录 1.3.1 5种基本数据类型1.3.1.1 总结篇1.3.1.2 底层源码引入篇1.3.1.2.1 redis是字典数据库KV键值对到底是什么1.3.1.2.2 数据类型视角1.3.1.2.3 数据模型解析(重点)1.3.1.2.4 redisObjec1.3.1.2.5 SDS 1.3.1.3 String1.3.1.3.1 底层分析1.3.1.3…

Ubuntu Server 22.04 安装步骤纪录

Ubuntu Server 22.04 安装流程 取得安装程序 安装程序可以通过下方链接直接从官网下载就可以了,官网提供的是iso映像文件,安装前要先将iso映像文件刻录成光盘,或制作成USB开机随身碟。 前往 Ubuntu 官网 开始安装 STEP 1 选择要安装的操作…

Python初学者学习记录——python基础综合案例:数据可视化——地图可视化

一、基础地图使用 1、基础地图演示 2、基础地图演示——视觉映射器 from pyecharts.charts import Map from pyecharts.options import VisualMapOpts# 准备地图对象 map Map() # 准备数据 data [("北京市", 99),("上海市", 199),("湖南省", 2…

【GitHub项目推荐--游戏模拟器(switch)】【转载】

01 任天堂模拟器 yuzu 是 GitHub 上斩获 Star 最多的开源 Nintendo Switch 模拟器 ,使用 C 编写,考虑到了可移植性,该模拟器包括 Windows 和 Linux 端。 如果你的 PC 满足必要的硬件要求,该模拟器就能够运行大多数商业游戏&…

DC电源模块的发展与创新

BOSHIDA DC电源模块的发展与创新 DC电源模块在过去几十年中经历了许多发展与创新。以下是其中一些重要的方面: 1. 提高功率密度:随着科技的进步,DC电源模块的功率密度不断提高。通过使用更高效的能量转换技术和材料,设计工程师…

盲盒小程序系统:发展趋势和发展魅力

随着“盲盒经济”的蓬勃发展,越来越多的人加入到了盲盒的行列,各类企业商家也纷纷投身到了盲盒的火热中。 盲盒火爆的最大吸引力还是在于其独特的惊喜感和刺激感。盲盒具有不确定性,这种不确定性能够让大众拆开盲盒后感到惊喜。盲盒还具有社…

ServletResponse接口

ServletResponse接口 ServletContext接口向servlet提供关于其运行环境的信息。上下文也称为Servlet上下文或Web上下文,由Web容器创建,用作ServletContext接口的对象。此对象表示Web应用程序在其执行的上下文。Web容器为所部署的每个Web应用程序创建一个ServletContext对象。…

【极数系列】Flink搭建入门项目Demo 秒懂Flink开发运行原理(05)

文章目录 引言1.创建mavenx项目2.包结构3.引入pom依赖4.增加log4j2.properties配置5.创建主启动类6.构建打jar包7.flinkUI页面部署 引言 gitee地址:https://gitee.com/shawsongyue/aurora.git 源码直接下载可运行,模块:aurora_flink Flink 版…

数据结构与算法:复杂度

友友们大家好啊,今天开始正式学习数据结构与算法有关内容,后续不断更新数据结构有关知识内容,希望多多支持! 数据结构: 数据结构是用于存储和组织数据的方式,以便可以有效地访问和修改数据。不同的数据结构…

python222网站实战(SpringBoot+SpringSecurity+MybatisPlus+thymeleaf+layui)-友情链接管理实现

锋哥原创的SpringbootLayui python222网站实战: python222网站实战课程视频教程(SpringBootPython爬虫实战) ( 火爆连载更新中... )_哔哩哔哩_bilibilipython222网站实战课程视频教程(SpringBootPython爬虫实战) ( 火…

Modern C++ std::tuple的size

不知道大家读过《Modern C std::unique_ptr的实现原理》没有&#xff1f; 里面提到了std::tuple<void*, default_delete()>的大小是4&#xff0c;而不是41或者44&#xff0c;是不是很奇怪&#xff0c;本文不会揭晓答案&#xff0c;只是会扩展测试各种情况。 #include<…

打开 IOS开发者模式

前言 需要 1、辅助设备&#xff1a;苹果电脑&#xff1b; 2、辅助应用&#xff1a;Xcode&#xff1b; 3、准备工作&#xff1a;苹果手机 使用数据线连接 苹果电脑&#xff1b; 当前系统版本 IOS 17.3 通过Xcode激活 两指同时点击 Xcode 显示选择&#xff0c;Open Develop…

私人漫画图书馆:分类管理,一目了然 | 开源日报 No.157

tachiyomiorg/tachiyomi Stars: 26.9k License: Apache-2.0 tachiyomi 是一个免费开源的安卓漫画阅读器。 该项目的主要功能、关键特性、核心优势包括&#xff1a; 从多种来源在线阅读本地阅读已下载内容可配置的阅读器&#xff0c;具有多个查看器、翻页方向和其他设置支持追…

Bug: git stash恢复误drop的提交

Bug: git stash恢复误drop的提交 前几天在写ut时突然需要通过本地代码临时出一个包&#xff0c;但是本地ut又不想直接作为一个commit提交&#xff0c;所以为了省事就将ut的代码暂时stash起来。出完包后想apply stash&#xff0c;但是手误操作点成了drop stash&#xff0c;丢失了…

容器化部署 Jenkins,并配置SSH远程操作服务器

目录 一、Jenkins是什么 二、常见的部署Jenkins的方法 三、为什么选择容器化部署 四、容器化部署Jenkins步骤 1、安装 Docker 2、获取 Jenkins 镜像 3、创建并运行容器 4、访问 Jenkins 4.1 查看初始密码问题 5、配置 Jenkins 5.1 安装插件 5.2 创建管理员用户 5.3…

Git安装详细步骤

目录 1、双击安装包&#xff0c;点击NEXT​编辑 2、更改安装路径&#xff0c;点击NEXT 3、选择安装组件 4、选择开始菜单页 5、选择Git文件默认的编辑器 6、调整PATH环境 7、选择HTTPS后端传输 8、配置行尾符号转换 9、配置终端模拟器与Git Bash一起使用 10、配置额外…

web前端---------盒子模型

1.内容 盒子的内容可以包含文字、图片等多种类型。 浏览器在加载网页时&#xff0c;会将元素按照内容区分为替换元素与非替换元素。 &#xff08;1&#xff09;替换元素指的是HTML中的一些形如<img>、<input>等非文本元素。 这些元素本身不包含任何内容&#x…

【VB测绘程序设计】案例13——几种常用的角度转换子程序Function功能的使用(附源代码)

【VB测绘程序设计】案例13——几种常用的角度转换子程序Function的使用(附源代码) 文章目录 前言一、界面展示二、程序说明三、程序代码1.角度转换子程序jdzh()四、数据演示总结前言 使用VB编写测绘程序,最基础的对于角度在导线测量计算中频繁需要角度的计算,从度分秒转…

Redis核心技术与实战【学习笔记】 - 3.Redis服务高可靠

1.数据同步&#xff1a;主从库如何实现数据一致&#xff1f; 前面我们学习了 AOF 和 RDB&#xff0c;如果 Redis 发生了宕机&#xff0c;它们可以分别通过回放日志和重新读入 RDB 文件的方式恢复数据&#xff0c;从而保证尽量较少丢失数据&#xff0c;提升可靠性。 不过&…