构建模块化的 Go 项目

GolangGolangBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在这个挑战中,你将通过创建一个模块化项目来展示你对 Go Modules 的理解,该项目将展示一个小型工具库的包管理技能。挑战内容包括创建一个包含将字符串转换为大写字母功能的工具包,以及一个导入并使用该工具包功能的主包。你还需要为这两个包初始化 Go Modules,并确保主包成功运行并打印转换后的字符串。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL go(("Golang")) -.-> go/FunctionsandControlFlowGroup(["Functions and Control Flow"]) go/FunctionsandControlFlowGroup -.-> go/functions("Functions") subgraph Lab Skills go/functions -.-> lab-435640{{"构建模块化的 Go 项目"}} end

构建模块化的 Go 项目

在这个挑战中,你将通过创建一个模块化项目来展示你对 Go Modules 的理解,该项目将展示一个小型工具库的包管理技能。为了简化流程,我们提供了一个设置脚本,用于初始化项目结构并预填充基本的代码框架。你的任务是完成代码中的 TODO 部分。

任务

  1. 导航到 ~/project/utility/helper.go 并完成 TODO 部分:

    // TODO: 使用 strings.ToUpper 实现 ToUpperCase 函数
  2. 导航到 ~/project/main/main.go 并完成 TODO 部分:

    // TODO: 调用 utility.ToUpperCase 函数
    // TODO: 使用 fmt.Println 打印结果

要求

  • 通过填写 TODO 部分,完成提供的 ~/project/utility/helper.go~/project/main/main.go 文件。
  • 工具包应定义一个名为 ToUpperCase 的函数,用于将字符串转换为大写。
  • 主包应调用 ToUpperCase 函数并打印其结果。

示例

完成 TODO 部分后,你的项目结构应如下所示:

~/project/
├── utility/
│   ├── go.mod
│   └── helper.go
└── main/
    ├── go.mod
    └── main.go

当你运行主包时,输出应为:

cd ~/project/main
go get utility
go run main.go
HELLO, WORLD

提示

  • 标准库中的 strings.ToUpper 函数可以帮助你将字符串转换为大写。
  • 使用 go mod init 初始化 Go Modules。(已为你完成)
  • 使用 go get utility 在主包中导入本地工具包。
✨ 查看解决方案并练习

总结

总结来说,这个挑战要求你创建一个模块化的 Go 项目,以展示你对 Go Modules 和包管理的理解。你需要开发一个工具包,其中包含一个将字符串转换为大写的函数,以及一个导入并使用该工具包函数的主包。挑战还包括为这两个包初始化 Go Modules,并确保主包成功运行并打印转换后的字符串。