Go语言学习-创建Go模块(1)

这是介绍Go语言基础特性的第一部分教程。如果你是开开开始学习Go,请确保你看了关于介绍Go语言语法,Go模块的简洁代码文章:启动Go
在本教程中,你将会创建两个模块。第一个模块是个库来被用作其他库或者应用程序来引用。第二个模块是一个调用者应用程序,它将调用第一个模块。
本教程将会以一下7步来分别说明Go语言的不同部分。

要求

  • 一些编程经验。这里的代码非常简洁,但是能够帮助你了解到一些函数、循环和数组。
  • 一个编写代码的工具。任意一个文本编辑器都可以。大多数编辑器都能够很好的支持GO语言开发。如最受欢迎的VSCode(免费),GoLand(付费)和Vim(免费)。
  • 一个命令行终端。Go能够非常好的在Linux、Mac的命令行,Windows的PowerShell、cmd终端上运行。

开始创建一个其他人能够使用的Go模块

我们通过创建Go模块开始。在这个模块中,你需要为一套离散且有用的函数整合一个或者多个依赖包。例如,你可能需要通过一个拥有能够做金融分析函数的包来创建一个模块,让这个模块能够被其他需要写金融应用的使用。如果你想了解更多关于发布模块的内容,可以查看开发和发布模块
Go的代码被包含在包中,同时由包被包含在模块中。你的模块需要指定Go版本和其他你模块所要求的依赖才能运行你的代码。
当你在你的模块中添加或者提升功能时,你将发布新版本的模块。在投入生产环境之前,开发者可以通过调用你最新的模块来编写代码测试新的版本。
1、打开命令终端并且转到你的主目录

cd xxxx

2、创建一个greetings目录作为你的Go模块根目录

mkdir greetings
cd greetings

3、使用 go mod init 命令来初始化项目
运行go mod init 命令并且给出你的模块路径–这里使用example.com/greetings。如果你发布模块,这个路径必须是你的模块能被GoTool下载的路径。这里将会是你代码的存储库。
如果你想了解更多通过模块路径命名模块方面的东西,请查看管理模块

go mod init example.com/greetings

go mod init命令用于创建一个go.mod文件来追溯你的代码依赖。目前为止,这个文件中有你模块的唯一命名和你代码所支持的Go的版本。但是作为你添加的依赖,go.mod文件将会列出你代码所依赖的版本。这保证了编译的可重复性,同时可以让你直接控制使用哪个版本的模块。
4、在你的文本编辑器中,创建并且命名为 greetings.go.文件,之后编写代码
5、粘贴以下代码到 greetings.go文件中并且保存

package greetings

import "fmt"

// Hello returns a greeting for the named person.
func Hello(name string) string {
    // Return a greeting that embeds the name in a message.
    message := fmt.Sprintf("Hi, %v. Welcome!", name)
    return message
}

这就是你创建的第一个模块。他会给调用者返回一个问候。你将会在接下来的步骤中编写代码调用它。
在这个代码中,你:
声明了一个greetings 包来整合相关函数。
实现了一个Hello函数来作为greeting的返回。
这个函数的的参数name是一个string类型。同时函数的返回参数类型也是string类型。在Go中,开头大写命名的函数能够在其他包中的函数调用。这在Go中被称为导出名称(exported name)。想要了解更多关于导出名称(exported name)的知识,可以查看export name

Go语言学习-创建Go模块(1)_第1张图片
声明了一个变量来接收你的问候(greeting)。
在Go中,:=是一个一行代码快速创建和声明变量的方式(Go使用右边的值来确定变量的类型)。如果不用这种方式,你可以这样写:

var message string
message = fmt.Sprintf("Hi, %v. Welcome!", name)

使用了fmt包的Sprintf函数来创建问候消息。第一个参数是字符串格式,同时Sprintf把%v替换为name参数的值。插入name参数的值来组成问候语。
给调用者返回格式化的问候语。

下一篇文章中,你将会在另一个模块中调用这个函数。

你可能感兴趣的:(golang,golang)