实现天气建议选择器

GolangBeginner
立即练习

介绍

在本次挑战中,你将扮演一家移动应用初创公司的初级软件开发人员,负责开发一项个性化的天气建议功能,帮助用户根据当前天气状况选择合适的衣物。你将编写一个 Go 程序,利用 switch 语句为包括雪天、雨天、晴天和阴天在内的不同天气状况提供着装建议。

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

实现天气建议函数

你的任务是实现 weatherAdvice 函数,使用 switch 语句针对不同的天气状况提供相应的着装建议。

任务

  • 编写一个名为 weatherAdvice 的函数,该函数接收一个 string 类型的参数(天气状况)。
  • 使用 switch 语句为至少四种天气状况提供建议:snow(雪)、rain(雨)、sunny(晴)和 cloudy(阴)。
  • 包含一个 default 分支来处理无法识别的天气状况。
  • 使用 fmt.Println() 为每种状况打印具体的着装建议。

要求

  • ~/project/weather_advice.go 文件中实现 weatherAdvice 函数。
  • 使用提供的 main 函数来测试 weatherAdvice 函数。
  • 雪天(snow)的建议中必须包含 coat(外套)。
  • 雨天(rain)的建议中必须包含 umbrella(雨伞)。
  • 晴天(sunny)的建议中必须包含 sunglasses(太阳镜)。
  • 阴天(cloudy)的建议中必须包含 jacket(夹克)。
  • 默认分支(default case)应当打印一条信息,提示该天气状况无法识别。

示例输出

运行程序时,输出结果应如下所示:

go run weather_advice.go
--- Testing Weather Advice Function ---
For condition: Snow
Remember to wear a warm coat and snow boots! 🧣
For condition: Rain
Don't forget your umbrella and waterproof jacket! 🌂
For condition: Sunny
Wear sunglasses and light clothing! ☀️
For condition: Cloudy
A light jacket might be a good idea. ☁️
For condition: Unknown
Weather condition not recognized. Stay prepared!
✨ 查看解决方案并练习

总结

在本次挑战中,你实现了一个 Go 程序,利用 switch 语句提供个性化的天气着装建议。你将解决方案封装在一个独立的函数(weatherAdvice)中,并通过一系列预定义的测试用例对其进行了验证。通过这个练习,你进一步巩固了对 Go 语言中 switch-case 语法、函数定义以及控制流的理解。