构建模块化 Go 项目

GolangBeginner
立即练习

介绍

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

这是一个「挑战」项目,它与「引导实验」的不同之处在于,你需要尝试独立完成挑战任务,而不是跟随实验步骤学习。挑战通常具有一定的难度。如果你觉得困难,可以与 Labby 讨论或查看解决方案。历史数据显示,这是一个 初学者 级别的挑战,通过率为 95%。它在学习者中获得了 98% 的好评率。

构建模块化 Go 项目

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

任务

  1. 打开 ~/project/utility/helper.go 并完成 TODO 部分:

    // TODO: Implement the ToUpperCase function using strings.ToUpper
  2. 打开 ~/project/main/main.go 并完成 TODO 部分:

    // TODO: Call the utility.ToUpperCase function
    // TODO: Print the result using fmt.Println

要求

  • 通过填充 TODO 部分,完成提供的 ~/project/utility/helper.go~/project/main/main.go 文件。
  • 工具包(utility package)应定义一个名为 ToUpperCase 的函数,用于将字符串转换为大写。
  • 入口包(main package)应调用 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,并确保入口包能成功运行并打印转换后的字符串。