go语言学习(二)——流程控制

news/2024/6/29 7:25:20

下面是go语言的流程控制

// GoStudy2 project main.go
/*go语言学习
流程控制
*/
package main

import (
	"fmt"
)

func main() {
	//if
	//v11 := -10
	fmt.Println("******************if")
	if v11 := 10; v11 < 0 { //if后面可以定义变量,用;隔开
		fmt.Println("v11 < 0")
	} else if v11 == 0 { //不能另起一行
		fmt.Println("v11 == 0")
	} else {
		fmt.Println("v11 > 0")
	} //不允许将最终的return放到if...else...中,编译不通过

	//switch
	fmt.Println("**************switch")
	v21 := 1
	switch v21 {
	case 1:
		fmt.Println("v21 is", v21)
		fmt.Println("run next")
		fallthrough //执行完这个case之后强制执行以一个case中的内容
	case 2, 3: //可以几个值放在一起
		fmt.Println("v21 is", v21)
	case 4:
		fmt.Println("v21 is", v21)
	default:
		fmt.Println("other value")
	}

	switch { //可以不带参数,相当于if...else if...else
	case v21 < 0:
		fmt.Println("v21 < 0")
	case v21 == 0:
		fmt.Println("v21 == 0")
	case v21 > 0:
		fmt.Println("v21 > 0")
	default:
	}

	//for
	fmt.Println("**********************for")
	v31 := 0
	for i := 0; i < 100; i++ { //一般循环
		v31 += i
	}
	fmt.Println(v31)

	v32 := 0
	for { //无线循环
		v32++
		if v32 > 100 {
			break
		}
	}
	fmt.Println(v32)

	v33 := []int{2, 3, 5, 7, 1}
	for i, j := 0, len(v33)-1; i < j; i, j = i+1, j-1 { //支持多重赋值;
		v33[i], v33[j] = v33[j], v33[i]
	}
	fmt.Println(v33)

OuterLoop: //标签
	for i := 0; i < 100; i++ {
		fmt.Println("out loop", i)
		for j := 0; j < 100; j++ {
			//fmt.Println("in loop", j)
			if j > 50 {
				break OuterLoop //跳出outerloop所在层的循环,这里直接跳出最外面的循环
			}
		}
	}

	//goto
	fmt.Println("**********************goto")
	v41 := true
GoToTip:
	fmt.Println("goto run")
	if v41 {
		v41 = !v41
		goto GoToTip
	}
}

  

 以上,流程控制完成

转载于:https://www.cnblogs.com/singledigit/p/6378588.html


http://www.niftyadmin.cn/n/2623561.html

相关文章

app服务器证书无效怎么办,APP上架证书无效:解决(示例代码)

在碰到问题时总是第一反应&#xff0c;“我没做过啥啊”&#xff0c;这主观思想导致了排查问题更加困难。上传之后出现如图错误&#xff0c;”error itms-9000 the bundle at bundle path is not signed using an apple submission certificate”由于最近某些原因&#xff0c;我…

mysql导出excel 多个sheet_数据库多张表导出到excel

数据库多张表导出到excelpublic static void export() throws Exception{//声明需要导出的数据库String dbName "hdcloude";//声明bookHSSFWorkbook book new HSSFWorkbook();//获取Connection,获取db的元数据//Connection con DataSourceUtils.getConn();Connect…

css grid 自动高度_面试押题之 --- CSS部分

本文章中的题来自写代码啦--2020面试押题,之前我总结过一篇HTML部分的面试押题,马上就要秋招了,所以我打算把面试题都总结一边然后开始投简历练练手,之后争取进大厂.必考&#xff1a;两种盒模型分别说一下。必考&#xff1a;如何垂直居中&#xff1f;必考&#xff1a;flex 怎么…

换中国电信卡显示无服务器,用5G或需要换SIM卡 中国电信给出了答案

套餐改成5G要不要换SIM卡?这个问题近日似乎有了准确的答案。5月13日&#xff0c;中国电信发布的一份白皮书指出&#xff0c;套餐该换用5G或需要换SIM卡。此前在2019年底时&#xff0c;三大运营商宣称使用5G服务&#xff0c;用户不换卡、不换号。但5月13日&#xff0c;中国电信…

flask实时显示服务器日志,使用WSGI服务器和flask应用程序进行日志记录

log – If given, an object with a write method to which request (access) logs will be written. If not given, defaults to sys.stderr. You may pass None to disable request logging. You may use a wrapper, around e.g., logging, to support objects that don’t i…

shiro判断用户是否登录_腾讯致歉QQ读取浏览器历史:判断是否恶意登录

来源 | 澎湃新闻1月17日&#xff0c;有论坛文章称&#xff0c;QQ会读取网页浏览器的历史记录&#xff0c;该内容后被链接至知乎提问上。1月18日&#xff0c;腾讯QQ在其知乎官方号上回答该提问时表示&#xff0c;近日&#xff0c;我们收到外部反馈称PC QQ扫描读取浏览器历史记录…

ajax触发,jQuery AJAX调用始终触发成功

我有这个登录表单&#xff0c;我在其中进行服务器端验证&#xff0c;现在我正在尝试进行jQuery验证。表格摘要&#xff1a;Login jQuery片段:(我使用bootstrap&#xff06;&#xff03;39; login.js)submitHandler: function (form) {var un $(#usernameEmail).val();var p $…

mysql中的rman备份_RMAN 备份详解

一、数据库备份与RMAN备份的概念1.数据库完全备份&#xff1a;按归档模式分为归档和非归档归档模式打开状态&#xff0c;属于非一致性备份关闭状态&#xff0c;可以分为一致性和非一致性非归档模式打开状态&#xff0c;非一致性备份无效关闭状态&#xff0c;一致性备份&#xf…