当前位置: 首页 > article >正文

golang学习笔记——编写 FizzBuzz 程序

编写 FizzBuzz 程序

首先,编写一个用于输出数字(1 到 100)的程序,其中有以下变化:

如果数字可被 3 整除,则输出 Fizz。
如果数字可被 5 整除,则输出 Buzz。
如果数字可同时被 3 和 5 整除,则输出 FizzBuzz。
如果前面的情况都不符合,则输出该数字。
尝试使用 switch 语句。

错误的例子

package main

import (
    "fmt"
)

func main() {

	for i := 1 , i <= 20 ; i++ {
		switch i {
		case i%3==0 && i%5==0:
			fmt.Println("FizzBuzz")
		case i%3==0:
			fmt.Println("Fizz")
		case i%5==0:
			fmt.Println("Buzz")
		default:
			fmt.Println(i)
		}
	}
}

报错
.\hello.go:9:26: syntax error: cannot use i++ as value
.\hello.go:9:29: syntax error: unexpected {, expected semicolon or newline
.\hello.go:10:3: syntax error: unexpected switch, expected expression
.\hello.go:10:3: syntax error: unexpected switch, expected { after for clause

i := 1 ,改为i := 1;

package main

import (
    "fmt"
)

func main() {

	for i := 1; i <= 20 ; i++ {
		switch i {
		case i%3==0 && i%5==0:
			fmt.Println("FizzBuzz")
		case i%3==0:
			fmt.Println("Fizz")
		case i%5==0:
			fmt.Println("Buzz")
		default:
			fmt.Println(i)
		}
	}
}

.\hello.go:11:8: cannot convert i % 3 == 0 && i % 5 == 0 (untyped bool value) to type int
.\hello.go:13:8: cannot convert i % 3 == 0 (untyped bool value) to type int
.\hello.go:15:8: cannot convert i % 5 == 0 (untyped bool value) to type int

把switch后面的i去掉,可参考switch省略条件

package main

import (
    "fmt"
)

func main() {

	for i := 1; i <= 20 ; i++ {
		switch {
		case i%3==0 && i%5==0:
			fmt.Println("FizzBuzz")
		case i%3==0:
			fmt.Println("Fizz")
		case i%5==0:
			fmt.Println("Buzz")
		default:
			fmt.Println(i)
		}
	}
}

输出

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz

http://www.kler.cn/a/131822.html

相关文章:

  • 最新AI创作系统ChatGPT系统运营源码/支持最新GPT-4-Turbo模型/支持DALL-E3文生图
  • 蓝凌OA sysUiComponent 任意文件上传漏洞复现
  • Android安装过程二 系统进程中PackageInstallerSession对象的创建
  • 利用NVIDIA DALI读取视频帧
  • 在.net 6版本以上的web api中添加像.net 5一样的Startup.cs
  • nacos客户端连接服务端报Client not connected, current status:STARTING
  • NOIP2023模拟19联测40 诡异键盘
  • 953a-954(fpdlink3)寄存器配置
  • 【IDEA】IntelliJ IDEA的使用2.0——结合实际场景提升工具使用
  • SSM项目初始化流程与操作概念解释-SpringBoot简化版
  • Java 类之 java.lang.System
  • 常用Git命令记录
  • Java编程中,异步操作流程中,最终一致性以及重试补偿的设计与实现
  • Nginx在实际使用中的常用基本配置
  • PyTorch 成功安装验证
  • 关于数据mysql ->maxwell->kafka的数据传输
  • 【入门篇】1.2 Redis 客户端之 Jedis 详解和示例
  • 248: vue+openlayers 以静态图片作为底图,并在上面绘制矢量多边形
  • 索引三星结构
  • Qt调起Mac“系统设置”面板