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

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

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

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

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

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

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

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

在终端栏中键入:

go mode init [模块名]

如下:

powershell 复制代码
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>
    

    module-name是你的项目的模块名称,例如github.com/your-username/your-project

  2. 在项目中引入依赖包,可以使用以下命令:

    go get <package-name>
    

    <package-name>是你要引入的依赖包的名称。

  3. Go Module会自动下载依赖包,并将其存储在项目的go.mod文件中。

  4. 在代码中使用依赖包,就像平常一样引入,并使用包中的功能。

  5. 在构建项目时,Go Module会自动解析和管理项目的依赖关系,并确保依赖包的正确版本被构建和使用。

  6. 如果你需要升级依赖包的版本,可以使用以下命令:

    go get -u <package-name>
    
  7. 如果你需要移除不再使用的依赖包,可以使用以下命令:

    go mod tidy
    

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

三、新建一个代码文件

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

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

在文件中输入下列代码:

go 复制代码
package main

import "fmt"

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

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

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

powershell 复制代码
[Running] go run "d:\gott\main.go"
Hello, World!

[Done] exited with code=0 in 1.008 seconds

也可以在终端输入命令:

powershell 复制代码
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") 可以得到相同的结果。

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

相关推荐
喵叔哟5 分钟前
重构代码之用委托替代继承
开发语言·重构
lzb_kkk10 分钟前
【JavaEE】JUC的常见类
java·开发语言·java-ee
SEEONTIME10 分钟前
python-24-一篇文章彻底掌握Python HTTP库Requests
开发语言·python·http·http库requests
Bearnaise10 分钟前
PointMamba: A Simple State Space Model for Point Cloud Analysis——点云论文阅读(10)
论文阅读·笔记·python·深度学习·机器学习·计算机视觉·3d
起名字真南29 分钟前
【OJ题解】C++实现字符串大数相乘:无BigInteger库的字符串乘积解决方案
开发语言·c++·leetcode
tyler_download41 分钟前
golang 实现比特币内核:实现基于椭圆曲线的数字签名和验证
开发语言·数据库·golang
小小小~41 分钟前
qt5将程序打包并使用
开发语言·qt
hlsd#41 分钟前
go mod 依赖管理
开发语言·后端·golang
小春学渗透43 分钟前
Day107:代码审计-PHP模型开发篇&MVC层&RCE执行&文件对比法&1day分析&0day验证
开发语言·安全·web安全·php·mvc
杜杜的man1 小时前
【go从零单排】迭代器(Iterators)
开发语言·算法·golang