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

目录
  • 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内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • golang跳转语句goto,break,continue的使用及区别说明

    goto goto语句可以无条件地转移到过程中指定的行. 通常与条件语句配合使用.可用来实现条件转移, 构成循环,跳出循环体等功能. 在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱 goto对应(标签)既可以定义在for循环前面,也可以定义在for循环后面,当跳转到标签地方时,继续执行标签下面的代码. func main() { // 放在for前面,此例会一直循环下去 Loop: fmt.Println("test") for a:=0;a<5;a++{

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

    目录 continue 基本介绍 基本语法 示意图及案例 goto 基本介绍 基本语法及入门 continue 基本介绍 1,continue语句用于结束本次循环,继续执行下一次循环 2,continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环,这个和break的标签使用的规则一样 基本语法 { ...... continue ....... } 示意图及案例 以for循环为例 package main import "fmt" func main(){

  • Golang 中的 条件变量(sync.Cond)详解

    本篇文章面向的读者: 已经基本掌握Go中的 协程(goroutine),通道(channel),互斥锁(sync.Mutex),读写锁(sync.RWMutex) 这些知识.如果对这些还不太懂,可以先回去把这几个知识点解决了. 首先理解以下三点再进入正题: Go中的一个协程 可以理解成一个独立的人,多个协程是多个独立的人 多个协程都需要访问的 共享资源(比如共享变量) 可以理解成 多人要用的某种公共社会资源 上锁 其实就是加入到某个共享资源的争抢组中:上锁完成 就是从争抢组中被选出,得到了期待的

  • java执行SQL语句实现查询的通用方法详解

    完成SQL查询 并将查询结果放入Vector容器,以便其他程序使用 /* * 执行sql查询语句 */ public static <T> Vector<T> executeQuery(Class<T> clazz, String sql, Object... args) { Connection conn = null; PreparedStatement preparedstatement = null; ResultSet rs = null; Vector<

  • 对Golang import 导入包语法详解

    package 的导入语法 写 Go 代码的时经常用到 import 这个命令用来导入包,参考如下: import( "fmt" ) 然后在代码里面可以通过如下的方式调用: fmt.Println( "我爱北京天安门" ) fmt 是 Go 的标准库,它其实是去 GOROOT 下去加载该模块,当然 Go 的 import 还支持如下两种方式来加载自己写的模块: 相对路径 import "./model" // 当前文件同一目录的 model 目录

  • python else语句在循环中的运用详解

    在学习python循环语句的时候,发现else竟然可以和循环语句使用,但是它却与if中else语句的运行完全不同,有时候你真的感觉掉进这个else陷阱里了,完全不知道该怎么用,那么现在咱们一起去看看吧 一.循环_else示例 1.while_else的运用 # 定义外循环计数器 i = 1 # 循环1-10每个数字 while i <= 10: # 定义内循环计数器 j = 1 # 循环1-5每个数字,或者说循环5次 while j <= 5: # 判断1-10之间的数/2是否有余数 if i

  • golang项目如何上线部署到Linu服务器(方法详解)

    Go作为Google2009年推出的语言,其被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言. 对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率.它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了. 到现在Go的开发已经是完全开放的,并且拥有一个活跃的社区. 下面看下golang项目如何上线部署到Linu服务器上. windows服务器 先本地编译 go build main.go 编译后会在同级目录生成可执行文件

  • golang常用库之配置文件解析库-viper使用详解

    golang常用库:gorilla/mux-http路由库使用 golang常用库:配置文件解析库-viper使用 golang常用库:操作数据库的orm框架-gorm基本使用 golang常用库:字段参数验证库-validator使用 一.viper简介 viper 配置管理解析库,是由大神 Steve Francia 开发,他在google领导着 golang 的产品开发,他也是 gohugo.io 的创始人之一,命令行解析库 cobra 开发者.总之,他在golang领域是专家,很牛的一个

  • golang常用库之gorilla/mux-http路由库使用详解

    golang常用库:gorilla/mux-http路由库使用 golang常用库:配置文件解析库-viper使用 golang常用库:操作数据库的orm框架-gorm基本使用 一:golang自带路由介绍 golang自带路由库 http.ServerMux ,实际上是一个 map[string]Handler,是请求的url路径和该url路径对于的一个处理函数的映射关系.这个实现比较简单,有一些缺点: 不支持参数设定,例如/user/:uid 这种泛型类型匹配无法很友好的支持REST模式,无

  • golang中的三个点 '...'的用法示例详解

    '-' 其实是go的一种语法糖. 它的第一个用法主要是用于函数有多个不定参数的情况,可以接受多个不确定数量的参数. 第二个用法是slice可以被打散进行传递. 下面直接上例子: func test1(args ...string) { //可以接受任意个string参数 for _, v:= range args{ fmt.Println(v) } } func main(){ var strss= []string{ "qwr", "234", "yui

  • Mysql系列SQL查询语句书写顺序及执行顺序详解

    目录 1.一个完整SQL查询语句的书写顺序 2.一个完整的SQL语句执行顺序 3.关于select和having执行顺序谁前谁后的说明 1.一个完整SQL查询语句的书写顺序 -- "mysql语句编写顺序" 1 select distinct * 2 from 表(或结果集) 3 where - 4 group by -having- 5 order by - 6 limit start,count -- 注:1.2属于最基本语句,必须含有. -- 注:1.2可以与3.4.5.6中任一

随机推荐