go语言学习笔记 — 基础 — 控制流(6):goto跳转语句

goto语句(不建议使用)

goto语句可以无条件地跳转到过程中指定的行。goto语句通常与if条件判断语句配合使用。可用于实现条件转移、构成循环、跳出循环体等功能。但是,在结构化程序设计中,一般不主张使用goto语句,以免造成程序流程的混乱,使理解和调试程序都产生困难。

goto语法格式如下:

goto label;
..
..
label: statement;

在这里插入图片描述

package main

import "fmt"

func main() {
   // 定义局部变量 
   var a int = 10

   // 循环 
   LOOP: for a < 20 {
      if a == 15 {
         // 跳过迭代 
         a = a + 1
         goto LOOP
      }
      fmt.Printf("a的值为 : %d\n", a)
      a++     
   }  
}

输出2-100的素数(因数只有1和本身的整数,称为素数)

package main

import "fmt"

func main() {
	// 声明变量
	var C, c int
	C = 1

	/* 
	这里C = 1不写入for循环是因为for语句执行之初会将C的值变为1,当我们goto A时for语句会
	重新执行(不是重新一轮循环)
	*/
    A: for C < 100 {
	       // C=1不能写入for,这里就不能写入
	       C++
	       for c = 2; c < C; c++ {
		       if C%c == 0 {
			       goto A             // 若发现被除数C有因数,则C不是素数,跳转至开头
			   }
	       }
		   fmt.Println(C,"是素数")    
		   // 若拿c(c不是1,且c比C小,即c不是C)去整除C,没有一个可以整除,那么输出素数C
    }
}

tips

  • goto用于调整执行位置
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值