Golang跳转语句continue与goto使用语法详解

 更新时间:2023年01月16日 10:27:53   作者:fiveym  
这篇文章主要介绍了Golang跳转语句continue与goto使用语法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧

continue

基本介绍

1,continue语句用于结束本次循环,继续执行下一次循环

2,continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环,这个和break的标签使用的规则一样

基本语法

{

......

continue

.......

}

示意图及案例

以for循环为例

package main
import "fmt"
func main(){
	for i := 0; i < 4; i++ {
		for j := 0; j < 10 ; j++ {
			if j == 2 {
				continue
			}
		fmt.Println("j=", j)
		}
	}
}
/*
j= 0
j= 1
j= 3
j= 4
j= 5
j= 6
j= 7
j= 8
j= 9
j= 0
j= 1
j= 3
j= 4
j= 5
j= 6
j= 7
j= 8
j= 9
j= 0
j= 1
j= 3
j= 4
j= 5
j= 6
j= 7
j= 8
j= 9
j= 0
j= 1
j= 3
j= 4
j= 5
j= 6
j= 7
j= 8
j= 9
*/
package main
import "fmt"
func main(){
	var m float64 = 100000
	var n int = 0
	for {
		if m > 50000 {
			m *= 0.95
		} else {
			m -= 1000
			if m < 1000 {
				break
			}
		}
		n++
	}
	fmt.Println("可以通过%v次路口",n)
}

goto

基本介绍

1,go语言中的goto语句可以无条件的转移到程序中指定的行

2,goto语句通常与条件语句配合使用。可用来实现条件转移,跳出循环等功能

3,在go程序设计中一般不主张使用goto语句,一面造成程序流程的混乱,使理解和调试程序产生困难

基本语法及入门

goto label 
...
label:startement

package main
import "fmt"
func main(){
	var n int = 30
	fmt.Println("1")
	if n > 20 {
		goto label1
	}
	fmt.Println("2")
	fmt.Println("3")
	fmt.Println("4")
	label1:
	fmt.Println("5")
	fmt.Println("6")
	fmt.Println("7")
}
/*
1
5
6
7
*/

到此这篇关于Golang跳转语句continue与goto使用语法详解的文章就介绍到这了,更多相关Golang continue与goto内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Go语言中错误处理实例分析

    Go语言中错误处理实例分析

    这篇文章主要介绍了Go语言中错误处理,实例分析了Go语言中针对错误处理的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • 浅析Golang中Gin框架存在的必要性

    浅析Golang中Gin框架存在的必要性

    在Go语言中,net/http 包提供了一个强大且灵活的标准HTTP库,那为什么还出现了像 Gin 这样的,方便我们构建Web应用程序的第三方库,下面就来和大家简单分析一下
    2023-08-08
  • 在Golang代码中如何自动生成版本号的方法示例

    在Golang代码中如何自动生成版本号的方法示例

    这篇文章主要给大家介绍了在Golang代码中如何自动生成版本号的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-07-07
  • golang 各种排序大比拼实例

    golang 各种排序大比拼实例

    这篇文章主要介绍了golang 各种排序大比拼实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • 详解golang channel有无缓冲区的区别

    详解golang channel有无缓冲区的区别

    这篇文章主要给大家介绍了golang channel有无缓冲区的区别,无缓冲是同步的,有缓冲是异步的,文中通过代码示例给大家讲解的非常详细,需要的朋友可以参考下
    2024-01-01
  • Go并发调用的超时处理的方法

    Go并发调用的超时处理的方法

    这篇文章主要介绍了Go并发调用的超时处理的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Go如何优雅的关闭goroutine协程

    Go如何优雅的关闭goroutine协程

    本文将介绍首先为什么需要主动关闭goroutine,并介绍如何在Go语言中关闭goroutine的常见套路,包括传递终止信号和协程内部捕捉终止信号,之后,文章列举了需要主动关闭协程运行的常见场景,希望通过本文的介绍,读者能够掌握如何在适当的时候关闭goroutine
    2023-05-05
  • go redis之redigo的使用

    go redis之redigo的使用

    本文主要介绍了go redis之redigo的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Go语言并发之原子操作详解

    Go语言并发之原子操作详解

    代码中的加锁操作因为涉及内核态的上下文切换会比较耗时、代价比较高。针对基本数据类型我们还可以使用原子操作来保证并发安全,本文就来和大家详细聊聊,需要的可以参考下
    2022-12-12
  • 使用Golang快速构建出命令行应用程序

    使用Golang快速构建出命令行应用程序

    在日常开发中,大家对命令行工具(CLI)想必特别熟悉了,如果说你不知道命令工具,那你可能是个假开发。每天都会使用大量的命令行工具,例如最常用的Git、Go、Docker等,这篇文章主要介绍了使用Golang快速构建出命令行应用程序,需要的朋友可以参考下
    2023-02-02

最新评论