3.26 Go 模块入门|Go主题月

458 阅读2分钟

  上一章节中谈到了Go语言的简单入门,同时也使用了下外部别人的模块进行调用,这里我们就来实现一个自己的Go语言模块。

  本章节内将会创建两个模块,第一个是被创建为一个库,可被外部调用依赖,第二个模块则使用第一个创建好的模块,进行调用。

本教程的序列包括七个简短的主题,每个主题演示了该语言的不同部分

  1. 创建一个模块 - 写出一个包含简单调用其他模块的模块。
  2. 从其他模块调用代码 - 导入并使用你的新模块。
  3. 返回并处理错误 - 添加简单的错误处理。
  4. 返回一个随机的问候语句 - 处理切片数据(Go的动态大小数组)。
  5. 为多人返回问候语句 - 在map中存储键/值对。
  6. 添加测试 - 使用Go内置的单元测试功能来测试代码。
  7. 编译并安装应用程序 - 在本地编译并安装代码。

更多的引导步骤通过传送门

编码编写

  在进行此次编程之前,确保之前的准备工作做好了(下载安装环境、环境变量设置等等。未设置的小伙伴可以看看上篇文章中的讲解)

  1. 创建Go模块目录

    mkdir greetings
    
  2. 执行模块初始化命令

    [root@montos-prod greetings]# go mod init montos.com/greetings
     go: creating new go.mod: module montos.com/greetings
    

      这里使用该命令可以帮助追踪代码的依赖项。当前仅仅追自动你当前代码支持的,一旦拟引入新的依赖项目,则能很好的能列出你代码所依赖的版本。

  3. 创建出对应的代码文件 - 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
     }
    

      该代码定义一个函数,该函数将返回一句问候语。

    1. 首先需要声明该包名称关联函数使用。
    2. 完成方法函数组成 - 包括以下部分(方法名、方法参数、返回值类型)
    3. 声明返回值变量接受参数。
    var message string
    message = fmt.Sprintf("Hi, %v. Welcome!", name)
    

    等价于

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

总结

   以上我们完成了当前简单的一个函数定义,为之后封装一个单独的模块做准备,下一章节会介绍如何使用本章节所封装的模块。