【一Go到底】第十五天---continue快速入门

235 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第15天,点击查看活动详情

一、continue 的介绍

1.1 功能介绍

  1. continue语句用于结束本次循环,继续执行下一次循环
  2. continue语句出现在多层嵌套的循环语包体中时,可以通过标签指明要跳过的是哪一层循环,这个和前面的break标签的使用的规则一样.

1.2 基本语法

{
    ....
    continue
    ....
}

二、案例分析

2.1 案例一

package main

import "fmt"

func main() {

	for i := 0; i < 5; i++ {
		for j := 0; j < 5; j++ {
			if j == 3 {
				// j==3 执行continue
				continue
                                // 执行continue,直接跳过本次循环
			}
			fmt.Println("j=", j)
		}
	}
}


2.2 打印奇数

continue实现打印1-- 100之内的奇数[要求使用for循环+continue]

package main

import "fmt"

func main() {

	// continue实现打印1-- 100之内的奇数[要求使用for循环+continue]
	for i := 1; i <= 100; i++ {
		if i%2 == 0 {
			continue
		}

		fmt.Printf("%v 是奇数\n", i)
	}
}


2.3 案例3

3)从键盘读入个数不确定的整数,并判断读入的正数和负数的个数,输入为0时结束,程序[使用for循环,break, continue完成] [positive 正数,negative ]

package main

import "fmt"

func main() {

	// 从键盘读入一个不确定的整数,并判断读入的正数和负数的个数,输入为0时结束程序[使用for循环,break, continue完成] [positive 正数,negative ]
	var positiveCount, negativeCount, num int

	for {
		fmt.Printf("请输入一个整数: ")
		fmt.Scanln(&num)
		if num == 0 {
			break
		}

		if num > 0 {
			positiveCount++
			continue
		}
		negativeCount++

	}
	fmt.Printf("正数有 %v 个, 负数有 %v 个", positiveCount, negativeCount)
}

2.4 案例4

某人有100,000元,每经过一次路口,需要交费规则如下:

  1. 当现金>50000时,每次交5%
  2. 当现金<=50000时,每次交1000 编程计算该人可以经过多少次路口,使用for break方式完成
package main

import "fmt"

func main() {

	// 某人有100,000元,每经过一次路口,需要交费规则如下:
	// 1.当现金>50000时,每次交5%
	// 2.当现金<=50000时,每次交1000
	// 编程计算该人可以经过多少次路口,使用for break方式完成

	var times int

	for i := 100000.0; i > 0; i-- {
		if i > 50000 {
			i -= i * 0.05
			times += 1
			continue
		}
		if i <= 50000 {
			i -= 1000
			times += 1
			continue
		} else {
			break
		}
	}
	fmt.Printf("一共可以经过 %v 次路口", times)
}