编程笔记 GOLANG基础 005 第一个程序:hello world 使用vscode

简介: 编程笔记 GOLANG基础 005 第一个程序:hello world 使用vscode

开始在VSCODE环境中编程go语言代码啦。

程序设计的一个惯例,是开始使用某种语言或工具编写第一个程序时,显示一个“hello world"(世界您好),就像一个婴儿来到这个世界,向这个世界的第一声问候一样。

一、准备一个专门的文件夹

使用VSCODE编程,由于它是一个通用的程序工具(IDE:集成开发环境),所以经常是里外结合的工作方式,有的工作是VSCODE完成的,还有是插件完成的,这两个都不能完成,就得通过命令行完成,power shell,这在VSCODE中叫终端。

在此这前,就是没有打开VSCODE之前,要先准备一个专门用来存放编写代码所需各种文件的文件夹。

使用资源管理器,建立一个文件夹。选择这个新建的文件夹,在地址栏中键入cmd,就打开发命令行窗口,再键入code .后回车,VSCODE会打开这个文件夹做为项目目录,就是我们要编程的地方了。

在终端栏中键入:

go mode init [模块名]

如下:

PS D:\gott> go mod init gott
go: creating new go.mod: module gott
PS D:\gott> 

这时生成了一个go.mod的文件,这个文件是干什么的呢?

go.mod文件是Go语言模块的管理文件。它用于定义和管理项目的依赖关系和版本。在Go语言中,模块是一个由一组相关的Go包构成的集合,作为一个单元进行版本控制和分发。

go.mod文件包含以下信息:

  1. 模块的名称:用于唯一标识模块的名称,通常是一个URL或者代码仓库的地址。
  2. 模块的版本:指定模块的当前版本以及各个依赖模块的版本。
  3. 依赖关系:列出了当前模块所依赖的其他模块及其版本要求。

当你在项目中引入新的包或者修改依赖版本时,go.mod文件会被自动更新。通过go.mod文件,Go语言的构建工具可以自动下载和管理项目所需的依赖包。这种方式使得依赖管理更加简单和可靠,保证了项目的一致性和可重复性。

这里又引入了一个Go 语言模块管理的概念:初学者不理解也没有关系,后面内容涉及到了,自然就理解了。

二、Go语言的模块管理

Go语言使用Go Module来进行模块管理。Go Module是Go语言自1.11版本开始引入的官方包管理工具。使用Go Module进行模块管理的步骤如下:

  1. 在项目的根目录下初始化Go Module,可以使用以下命令:
go mod init <module-name>
  1. module-name是你的项目的模块名称,例如github.com/your-username/your-project
  2. 在项目中引入依赖包,可以使用以下命令:
go get <package-name>
  1. <package-name>是你要引入的依赖包的名称。
  2. Go Module会自动下载依赖包,并将其存储在项目的go.mod文件中。
  3. 在代码中使用依赖包,就像平常一样引入,并使用包中的功能。
  4. 在构建项目时,Go Module会自动解析和管理项目的依赖关系,并确保依赖包的正确版本被构建和使用。
  5. 如果你需要升级依赖包的版本,可以使用以下命令:
go get -u <package-name>
  1. 如果你需要移除不再使用的依赖包,可以使用以下命令:
go mod tidy

以上是使用Go Module进行模块管理的基本步骤,更多详细的操作和配置可以参考Go语言官方文档中关于Go Module的说明。

三、新建一个代码文件

在VSCODE左侧的资源管理器中,选定根目录,点击旁边的新建文件按钮。

新建一个文件,命名为main.go。系统会自动打开这个文件,此时文件内容为空。

在文件中输入下列代码:

package main
import "fmt"
func main() {
  /* 这是我的第一个简单的程序 */
  fmt.Println("Hello, World!")
}

编程屏幕可以使用右键菜单完成某些操作。

执行这个代码。在下面的输出栏内显示下面结果:

[Running] go run "d:\gott\main.go"
Hello, World!
[Done] exited with code=0 in 1.008 seconds

也可以在终端输入命令:

PS D:\gott> go run main.go          
Hello, World!
PS D:\gott> 

显示的hello world就是这个程序的运行结果。

四、Go 语言结构

从上例也可以看到 Go 语言最简单程序的结构。

(一)、Go 语言的基础组成有以下几个部分:

包声明

引入包

函数

变量

语句 & 表达式

注释

(二)、示例分析,让我们来看下以上程序的各个部分:

第一行代码 package main 定义了包名。你必须在源文件中非注释的第一行指明这个文件属于哪个包,如:package main。package main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包。

下一行 import “fmt” 告诉 Go 编译器这个程序需要使用 fmt 包(的函数,或其他元素),fmt 包实现了格式化 IO(输入/输出)的函数。

下一行 func main() 是程序开始执行的函数。main 函数是每一个可执行程序所必须包含的,一般来说都是在启动后第一个执行的函数(如果有 init() 函数则会先执行该函数)。

下一行 // 是注释,在程序执行时将被忽略。单行注释是最常见的注释形式,你可以在任何地方使用以 // 开头的单行注释。多行注释也叫块注释,均已以 /* 开头,并以 */ 结尾,且不可以嵌套使用,多行注释一般用于包的文档描述或注释成块的代码片段。

下一行 fmt.Println(…) 可以将字符串输出到控制台,并在最后自动增加换行字符 \n。

使用 fmt.Print(“hello, world\n”) 可以得到相同的结果。

需要注意的是 { 不能单独放在一行。

相关文章
|
6月前
|
人工智能 自然语言处理 算法
国产新型AI编程助手—DevChat AI插件在VSCode中的应用
国产新型AI编程助手—DevChat AI插件在VSCode中的应用
249 0
|
6天前
|
前端开发 JavaScript 数据库
VSCode编程助手工程能力体验报告(一):通义灵码 - 帮你高效切入新项目、编码和提升质量
我是一位软件工程师,用通义灵码个人版vscode插件的workspace做项目分析和复盘,对比之前没有灵码,现在提效了80%,本文介绍了具体的使用流程。
|
9天前
|
自然语言处理 JavaScript 开发者
通义灵码插件:VSCode 的智能编程助手
通义灵码插件:VSCode 的智能编程助手
65 3
|
3月前
|
JavaScript 前端开发 开发者
【颠覆你的前端世界!】VSCode + ESLint + Prettier:一键拯救Vue代码于水深火热之中,打造极致编程体验之旅!
【8月更文挑战第9天】随着前端技术的发展,保持代码规范一致至关重要。本文介绍如何在VSCode中利用ESLint和Prettier检查并格式化Vue.js代码。ESLint检测代码错误,Prettier保证风格统一。首先需安装VSCode插件及Node.js包,然后配置ESLint和Prettier选项。在VSCode设置中启用保存时自动修复与格式化功能。配置完成后,VSCode将自动应用规则,提升编码效率和代码质量。
405 1
|
3月前
|
监控 Java 测试技术
|
3月前
|
存储 安全 Go
|
4月前
|
编译器 Go C语言
通过例子学习在golang中调试程序
【7月更文挑战第4天】Go语言支持使用cgo进行汇编调试,官方文档在golang.org/doc/asm。注意,调试Go运行时可能遇到变量不可用或行号错误,需谨慎使用step命令。
66 1
通过例子学习在golang中调试程序
|
5月前
|
Go Windows
golang hello 安装环境异常【已解决】
golang hello 安装环境异常【已解决】
35 1
|
6月前
|
人工智能 自然语言处理 JavaScript
阿里云发布 AI 编程助手 “通义灵码”——VSCode更强了 !!
阿里云发布 AI 编程助手 “通义灵码”——VSCode更强了 !!
750 3
|
6月前
|
Go
Golang深入浅出之-信号(Signals)处理与优雅退出Go程序
【4月更文挑战第23天】在Go语言中,使用`os/signal`包处理信号对实现程序优雅退出和响应中断至关重要。本文介绍了如何注册信号处理器、处理常见问题和错误,以及提供代码示例。常见问题包括未捕获关键信号、信号处理不当导致程序崩溃和忽略清理逻辑。解决方案包括注册信号处理器(如`SIGINT`、`SIGTERM`)、保持信号处理器简洁和执行清理逻辑。理解并正确应用这些原则能增强Go程序的健壮性和可管理性。
258 1