Golang学习历程【第一篇 入门】

Golang学习历程【第一篇 入门Hello World】

  • 1. 学习文档
  • 2. Window 本地安装Go
    • 2.1 安装
    • 2.2 验证
  • 3. 开发环境——VsCode
    • 3.1 VsCode 安装
    • 3.2 安装插件
      • 3.2.1 language 语言汉化插件安装
      • 3.2.2 Go插件安装
  • 4. Hello World 入门
    • 4.1 建工程
    • 4.2 创建项目文件
    • 4.3 编写Hello World程序
    • 4.4 VsCode无代码提示解决方案
    • 4.5 运行程序
    • 4.6 构建打包程序

引言:Go(又称为Golang)是一种开源的编程语言,由Google开发,于2009年首次公开发布。它旨在提供简洁、高效、可靠的软件开发解决方案。Golang是一种静态强类型、编译型语言,Golang具有很强的表达能力,得益于其并发机制,用它编写的程序能够非常有效地利用多核与联网的计算机,其新颖的类型系统则使程序结构变得灵活而模块化。 Go 代码编译成机器码不仅非常迅速,还具有方便的垃圾收集机制和强大的运行时反射机制。
体验感悟:待学习完成后补充…

1. 学习文档

中文文档地址:https://go.p2hp.com/ 【不推荐,落后于官方文档】
官方文档:https://go.dev/ 【推荐,最新,学习使用英文】
边学边练: 中文地址 | 英文地址
B站学习视频地址

2. Window 本地安装Go

2.1 安装

安装步骤依次见下列图示:
在这里插入图片描述
点击箭头位置下载安装包,点击安装。注:原则上来说,开发人员不建议安装最新版本,存在一定BUG,但这里学习使用足以。在这里插入图片描述
双击下载的go1.23.4.windows-amd64.msi文件进行安装
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 验证

windows找环境变量
在这里插入图片描述另外也可以通过命令方式验证GO是否安装完成。

  1. win + R 组合按键唤醒运行窗口。输入: cmd。点击确认或回车:
    在这里插入图片描述
  2. 输入下面命令,验证go是否安装成功
# go 版本号
go version
# go 环境变量
go env 

在这里插入图片描述
友情提示:当不小心点击【鼠标左键】,显示如下信息【关键信息为左上角的选择】。这个情况下表示cmd命令当前窗口为选择窗口,此时命令窗口运行的一切程序处于暂停状态,点击【鼠标右键】可恢复。
在这里插入图片描述

3. 开发环境——VsCode

3.1 VsCode 安装

安装地址
在这里插入图片描述
下载好的文件将文件解压,一定点击解压文件或者解压到"VsCode-win***",否则内部文件平铺当前目录,凌乱不堪。将解压的文件夹随意放在自己喜欢的指定磁盘文件下
在这里插入图片描述
点击解压文件才会有这一步:
在这里插入图片描述
软件快捷方式放于桌面。
在这里插入图片描述
打开软件,功能简要介绍
在这里插入图片描述

3.2 安装插件

3.2.1 language 语言汉化插件安装

在这里插入图片描述
在这里插入图片描述

3.2.2 Go插件安装

同理将Go插件安装完成
在这里插入图片描述

4. Hello World 入门

4.1 建工程

在这里插入图片描述
VsCode打开项目工程
在这里插入图片描述
在这里插入图片描述
遇到下面界面,点击信任即可
在这里插入图片描述

4.2 创建项目文件

在这里插入图片描述

4.3 编写Hello World程序

// package 包声明: 可以理解为一个文件夹
package main // import 导入:一般指导入官方或自定义功能包
import "fmt"// main函数 入口函数
func main()  {// 打印Hello World字符串,可不写分号,语法灵活fmt.Println("Hello World")
}

在这里插入图片描述

4.4 VsCode无代码提示解决方案

打开cmd控制终端,输入GO代理地址

go env -w GOPROXY=https://goproxy.io/

在这里插入图片描述
然后重启VsCode,多试几次重启,等待安装,尝试点击即可解决
在这里插入图片描述

4.5 运行程序

打开终端(本质就是windows的cmd窗口),运行go文件命令

// 语法命令:go run <文件名>,运行指定go文件的程序 
go run main.go
// 运行结果
// Hello World

在这里插入图片描述

4.6 构建打包程序

// 终端执行命令 go build <文件名>。将文件打包成可运行的exe文件。
go build main.go

在这里插入图片描述
构建完成之后文件可双击运行在windows上。 当前示例运行后无反应。原因是程序运行完成之后自动关闭了终端窗口。

学习历程:待续。。。

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

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

相关文章

微积分复习笔记 Calculus Volume 2 - 4.3 Separable Equations

4.3 Separable Equations - Calculus Volume 2 | OpenStax

Metaploit-永恒之蓝漏洞利用

1&#xff1a;Metaploit介绍   本次测试主要是利用永恒之蓝漏洞对windows7进行控制利用&#xff0c;掌握Metaploit工具的使用&#xff0c;知道永恒之蓝的漏洞利用原理。永恒之蓝是在Windows的SMB服务处理SMB v1请求时发生的漏洞&#xff0c;这个漏洞导致攻击者在目标系统上可…

电容Q值、损耗角、应用

电容发热的主要原因&#xff1a;纹波电压 当电容两端施加纹波电压时&#xff0c;电容承受的是变化的电压&#xff0c;由于电容内部存在寄生电阻&#xff08;ESR&#xff09;和寄生电感&#xff08;ESL&#xff09;.因此电容会有能量损耗&#xff0c;从而产生热量&#xff0c;这…

【附源码】Electron Windows桌面壁纸开发中的 CommonJS 和 ES Module 引入问题以及 Webpack 如何处理这种兼容

背景 在尝试让 ChatGPT 自动开发一个桌面壁纸更改的功能时&#xff0c;发现引入了一个 wallpaper 库&#xff0c;这个库的入口文件是 index.js&#xff0c;但是 package.json 文件下的 type:"module"&#xff0c;这样造成了无论你使用 import from 还是 require&…

【计算机网络篇】计算机网络期末复习题库详解

&#x1f9f8;安清h&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;【计算机网络】【Mybatis篇】 &#x1f6a6;作者简介&#xff1a;一个有趣爱睡觉的intp&#xff0c;期待和更多人分享自己所学知识的真诚大学生。 目录 &#x1f3af;单选 &#x1f3af;填空 &am…

JS使用random随机数实现简单的四则算数验证

1.效果图 2.代码实现 index.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</ti…

SLM510A系列——24V,15到150mA单通道可调电流线性恒流LED驱动芯片

SLM510A 系列产品是单通道、高精度、可调电流线性恒流源的 LED 驱动芯片&#xff0c;在各种 LED 照明产品中非常简单易用。其在宽电压输入范围内&#xff0c;能保证极高的输出电流精度&#xff0c;从而在大面积的光源照明中&#xff0c;都能让 LED 照明亮度保持均匀一致。 由于…

【潜意识Java】深度解读JavaWeb开发在Java学习中的重要性

目录 为什么Java Web开发如此重要&#xff1f; 1. 现代开发的核心技能 2. 增强系统设计与架构思维 3. 实战经验积累 Java Web开发的关键技术栈 案例&#xff1a;构建一个简单的Java Web应用 1. 创建数据库 2. 创建Java类 3. 创建数据库连接工具类 4. 创建DAO类 5. 创…

如何在 .NET Core 中轻松实现异步编程并提升性能

目录 初识异步编程 与多线程关系 异步编程操作 初识异步编程 异步编程&#xff1a;是指在执行某些任务时程序可以在等待某个操作完成的过程中继续执行其他任务&#xff0c;而不是阻塞当前线程&#xff0c;这在处理I/O密集型操作(如文件读取、数据库查询、网络请求等)时尤为重…

麒麟操作系统服务架构保姆级教程(二)ssh远程连接

如果你想拥有你从未拥有过的东西&#xff0c;那么你必须去做你从未做过的事情 作为一名成熟运维架构师&#xff0c;我们需要管理的服务器会达到几十台&#xff0c;上百台&#xff0c;上千台&#xff0c;甚至是上万台服务器&#xff0c;而且咱们的服务器还不一定都在一个机房&am…

159.等差数列的划分

class Solution {public int numberOfArithmeticSlices(int[] nums) {int lenums.length;if(le<3){return 0;}int arith0,res0,count0;//arith是差的大小,res是结果,count计算等差数量for(int i1;i<le;i){if(nums[i]-nums[i-1]arith){count;if(count>2){rescount-1;}}…

RabbitMQ消息队列的笔记

Rabbit与Java相结合 引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId> </dependency> 在配置文件中编写关于rabbitmq的配置 rabbitmq:host: 192.168.190.132 /…

纯css 实现呼吸灯效果

开始效果 呼吸效果 实现代码 <div class"container"><div class"breathing-light"></div> </div><style>html,body {height: 100%;background-color: white;}.container {padding: 100px;}.container .breathing-light {wi…

进程通信方式---共享映射区(无血缘关系用的)

5.共享映射区&#xff08;无血缘关系用的&#xff09; 文章目录 5.共享映射区&#xff08;无血缘关系用的&#xff09;1.概述2.mmap&&munmap函数3.mmap注意事项4.mmap实现进程通信父子进程练习 无血缘关系 5.mmap匿名映射区 1.概述 原理&#xff1a;共享映射区是将文件…

《云原生安全攻防》-- K8s安全框架:认证、鉴权与准入控制

从本节课程开始&#xff0c;我们将来介绍K8s安全框架&#xff0c;这是保障K8s集群安全比较关键的安全机制。接下来&#xff0c;让我们一起来探索K8s安全框架的运行机制。 在这个课程中&#xff0c;我们将学习以下内容&#xff1a; K8s安全框架&#xff1a;由认证、鉴权和准入控…

day08-别名-重定向-去重排序等

1.重复用touch命令创建同一份文件&#xff0c;会修改文件的时间戳。 alias命令&#xff1a; 别名 查看已有别名&#xff1a;alias [rootoldboy ~]# alias alias cpcp -i alias egrepegrep --colorauto alias fgrepfgrep --colorauto alias grepgrep --colorauto alias l.ls…

Qt WORD/PDF(四)使用 QAxObject 对 Word 替换(QWidget)

关于QT Widget 其它文章请点击这里: QT Widget 国际站点 GitHub: https://github.com/chenchuhan 国内站点 Gitee : https://gitee.com/chuck_chee 姊妹篇: Qt WORD/PDF&#xff08;一&#xff09;使用 QtPdfium库实现 PDF 操作 Qt WORD/PDF&#xff08;二…

Node的学习以及学习通过Node书写接口并简单操作数据库

Node的学习 Node的基础上述是关于Node的一些基础&#xff0c;总结的还行&#xff1b; 利用Node书写接口并操作数据库 1. 初始化项目 创建新的项目文件夹&#xff0c;并初始化 package.json mkdir my-backend cd my-backend npm init -y2. 安装必要的依赖 安装Express.js&…

计算机视觉中的特征提取算法

摘要&#xff1a; 本文聚焦于计算机视觉中的特征提取算法&#xff0c;深入探讨尺度不变特征变换&#xff08;SIFT&#xff09;算法。详细阐述 SIFT 算法的原理&#xff0c;包括尺度空间构建、关键点检测、方向分配与特征描述子生成等核心步骤。通过 C#、Python 和 C 三种编程语…

java版询价采购系统 招投标询价竞标投标系统 招投标公告系统源码

功能描述 1、门户管理&#xff1a;所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含&#xff1a;招标公告、非招标公告、系统通知、政策法规。 2、立项管理&#xff1a;企业用户可对需要采购的项目进行立项申请&#xff0c;并提交审批&#xff0c;查看所…