Go语言第一个程序--hello world!

文章目录

      • 一、Go 语言程序安装
      • 二、运行程序
      • 三、go mod tidy 命令
      • 四、遇到的问题
      • 五、VS Code 调试 go 程序的相关配置说明

一、Go 语言程序安装

  Go语言下载链接:https://studygolang.com/dl

在这里插入图片描述
  双击打开下一步下一步即可。

在这里插入图片描述
  验证安装:go version

在这里插入图片描述

二、运行程序

  创建编写代码的文件夹:gotest

  项目初始化 go mod init(初始化一个go mod)。Go Module 是 Go 1.11 版本引入的官方依赖管理系统,用于替代传统的 GOPATH 模式。它允许项目在 任意位置 存放,并精确控制依赖的版本,解决了依赖冲突、版本锁定等问题。

在这里插入图片描述
在这里插入图片描述
  若项目引用某些第三方库也会有信息列出来。

  创建 main.go 文件

package main // 声明 main 包,表名当前是一个可执行程序import "fmt" // 导入内置 fmt 包func main() { // main 函数,是程序执行的入口fmt.Println("Hello, World!") // 在终端打印
}

  使用 go build 生成 exe 文件进行执行

在这里插入图片描述

三、go mod tidy 命令

来自:go mod tidy 命令

go mod tidy 是 Go 语言的命令,用于清理和更新 go.modgo.sum 文件。它主要有以下功能:

  • 移除未使用的依赖项:从 go.mod 文件中删除那些在代码中不再使用的依赖项。
  • 添加缺失的依赖项:添加代码中使用但尚未记录在 go.mod 文件中的依赖项。
  • 更新 go.sum 文件:确保 go.sum 文件中包含所有依赖项的正确校验和。

四、遇到的问题

  Idea 导入 github 的项目的时候出现 Cannot resolve directory 'github.com'

在这里插入图片描述
  解决办法:设置里面将这个勾上

在这里插入图片描述

五、VS Code 调试 go 程序的相关配置说明

  安装 Delve(Go 的调试器),在终端运行:

在这里插入图片描述
  打开你的 Go 项目。点击左侧 “运行和调试” 图标(或按 Ctrl+Shift+D)。点击 “创建 launch.json 文件”,选择 Go 环境。(如果没有自动生成,可以手动在 .vscode/launch.json 创建)

在这里插入图片描述
  示例 launch.json:

{"version": "0.2.0","configurations": [{"name": "Debug dataParser","type": "go","request": "launch","mode": "auto","program": "${workspaceFolder}/main.go","args": ["dataParser","--config=./config/config-dev.yaml","--source=ceph","--date=2025-07-04"]}]
}

开始调试:

  设置断点:在代码行号左侧点击,添加断点(红色圆点)。

  启动调试:按 F5 或点击 “运行和调试” 面板的绿色箭头 ▶️。

  VS Code 会编译并运行程序,在断点处暂停。

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

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

相关文章

【MCU控制 初级手札】1.1 电阻

作者:电控工程手札 本博文内容著作权归作者所有,转载请务必保留本文链接 目录1. 定义2. 电导3. 电阻率4. 电导率5. 伏安特性6. 开路与短路7. 功率8. 应用元件特性(端子特性):元件的两个端子的电路物理量之间的代数函数…

JS中async/await功能介绍和使用演示

JS 中 async/await 功能介绍与使用演示 一、功能介绍基本概念 async:用于声明异步函数,返回一个 Promise 对象。即使函数内没有显式返回 Promise,也会隐式将返回值封装为 Promise.resolve()。await:仅能在 async 函数内部使用&…

系统调用入口机制:多架构对比理解(以 ARM64 为主)

📖 推荐阅读:《Yocto项目实战教程:高效定制嵌入式Linux系统》 🎥 更多学习视频请关注 B 站:嵌入式Jerry 系统调用入口机制:多架构对比理解(以 ARM64 为主) 本篇内容聚焦于系统调用的入口实现机…

java MultipartFile初始化

在Java中,MultipartFile 是Spring框架中用于处理文件上传的接口。​开发者通常不会直接初始化MultipartFile对象,而是通过Spring MVC的控制器方法参数接收上传的文件。如果需要在测试或模拟场景中创建其实例,可以使用Spring的MockMultipartFi…

Linux C IO多路复用

在上一节利用管道实现了一个简单的聊天室,但这个聊天室有一个很明显的问题就是,当A处于读阻塞情况下是不能向B发送消息的,只有收到B的消息才能发送。如何实现同时既能接受B的消息,又能向其发送消息?很遗憾,…

day21——特殊文件:XML、Properties、以及日志框架

文章目录一、特殊文件概述二、Properties属性文件2.1 文件特点2.2 Properties类解析2.3 写入属性文件三、XML文件详解3.1 XML核心特性3.2 XML解析(Dom4J)3.3 XML写入3.4 XML约束(了解)四、日志技术(Logback&#xff09…

经典VB与现代VB(VB.NET)

Visual Basic(VB)目前其发展状态可以分为经典VB(VB6及之前)​和现代VB(VB.NET)​两个阶段。经典VB诞生于1991年,凭借​“快速开发(Rapid Application Development, RAD)”…

iOS UI视图面试相关

iOS UI视图面试相关 UITableVIew相关 重用机制 cell [tableView dequeueReusableCellWillIdentifier:identifer];其中A2、A3、A4、A5是完全显示在屏幕,A2、A6显示部分,A1和A7不在显示范围内,假如现在是从下滑时的结果,在A1消失时…

网络编程-tcp连接:服务器与客户端

使用服务器和客户端的代码&#xff0c;实现服务器和客户端的互相聊天功能 实现两台电脑之间互相聊天 方案一&#xff1a;服务器代码&#xff08;server.c&#xff09;#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h>…

跨平台移动开发技术深度分析:uni-app、React Native与Flutter的迁移成本、性能、场景与前景

1. 引言 跨平台移动开发技术已成为提升开发效率、降低成本的战略性选择。uni-app、React Native&#xff08;RN&#xff09;和Flutter作为主流方案&#xff0c;在迁移成本、应用性能、适用场景及未来发展上呈现显著差异。本报告基于最新行业数据与技术演进&#xff08;2025年&…

详解低速容错CAN(附与高速CAN对比表)

文章目录前言一、低速容错CAN-低速二、低速容错CAN-容错2.1 信号电平2.2 终端电阻2.3 容错机制前言 在ISO 11898-3 Low-speed, fault-tolerant, medium-dependent interface部分描述了低速CAN的容错行为及其物理层内容。既然称为低速容错CAN&#xff0c;主要需要搞清楚的两个核…

维基框架发布 1.0.11 至中央仓,深化国产化 DevOps 生态整合

一、核心事件&#xff1a;维基框架 1.0.11 正式入驻中央仓库​ ​维基框架&#xff08;Wiki-Framework&#xff09;​​ 作为国产全场景 Java 企业级开发框架&#xff0c;于 7 月 9 日正式发布 ​v1.0.11 版本​ 至中央软件仓库&#xff08;Maven Central&#xff09;&#xf…

vscode 打开c++文件注释乱码

之前一直都主要用vscode编辑lua和python脚本语言&#xff0c;没怎么编辑过c文件&#xff0c;今天想打开一个文件看一个东西&#xff0c;但是注释全部乱码了&#xff0c;我也知道是文件编码的问题&#xff0c;但没找到修改编码格式的地方&#xff0c;好了废话不多说&#xff0c;…

波动回升正当时!期权合成多头:震荡市攻守兼备利器

上周&#xff0c;A股喜提关键突破&#xff01;上证指数自21年初以来首次稳稳站上3500点大关&#xff0c;市场整体震荡上行。尐程序&#xff1a;期权汇不过&#xff0c;热闹之下也藏有隐忧&#xff1a;虽然日均成交维持在1.4万亿加&#xff0c;但周五放量冲高&#xff08;成交达…

Python 基础(十四): 错误和异常

目录 1 错误2 异常 2.1 内置异常2.2 异常处理2.3 抛出异常2.4 自定义异常 程序中的错误我们通常称为 bug &#xff0c;工作中我们不仅需要改自己程序中的 bug &#xff0c;还需要改别人程序中的 bug &#xff0c;新项目有 bug 要改&#xff0c;老项目也有 bug 要改&#xff…

OpenCV-Python Tutorial : A Candy from Official Main Page(三)

3.11傅立叶变换3.11.1Fourier Transform in OpenCV-cv.dft、cv.magnitude、cv.idft这两个函数是图像频域处理&#xff08;如去噪、边缘增强、纹理分析&#xff09;的基础工具。1.cv.dft() —— 离散傅里叶变换功能&#xff1a; 将图像从空间域&#xff08;像素强度&#xff09;…

移动端字体适配

一、移动端图片适配1、使用 <img> 的 srcset<img src"logo.png"srcset"logo2x.png 2x,logo3x.png 3x"alt"Logo">优点&#xff1a;原生支持&#xff0c;浏览器自动选择最合适的图片。2、使用媒体查询切换背景图.logo {background-ima…

git起步

git官网&#xff1a;https://git-scm.com git使用手册&#xff1a;https://git-scm.com/book/zh/v2 一、Git 是什么&#xff1f; 1、版本控制 版本控制是一种记录一个或若干文件内容变化&#xff0c;以便将来查阅特定版本修订情况的系统。我们经常是用的是保存软件源代码的…

SSL与HTTP概述

一、概念1.SSL概念SSL&#xff08;Secure Sockets Layer&#xff09;是一种网络安全协议&#xff0c;用于在互联网通信中建立加密链接&#xff0c;保护在网络中传输的敏感数据免遭窃取或篡改。2.TLS概念虽然现在更先进的 TLS&#xff08;Transport Layer Security&#xff09; …

前端报错:“Uncaught SyntaxError: missing ) after argument list

问题描述&#xff1a;前端报错&#xff1a;“Uncaught SyntaxError: missing ) after argument list在 JavaScript 中遇到“SyntaxError: missing ) after argument list”这个错误通常意味着在函数调用或者声明中&#xff0c;参数列表的括号没有正确闭合。错误代码&#xff1a…