首页 > 其他分享 >Go语言--流程控制

Go语言--流程控制

时间:2024-07-04 12:55:58浏览次数:18  
标签:语句 初始化 -- 流程 break Println 按下 Go fmt

程序运行结构

Go 语言支持最基本的三种程序运行结构:顺序结构、选结构、环结构。

  • 顺序结构:程序按顺序执行,不发生跳转。
  • 选择结构:依据是否满足条件,有选择的执行相应功能
  • 循环结构:依据条件是否满足,环多次执行某段代码。

选择

if

s := "yes"
if s == "yes" {
	fmt.Println("YES")
} else {
	fmt.Println("NO")
}

在这里插入图片描述

  • {必须和if在同一行
  • if支持一个初始化语句,初始化语句和判断条件以分号分隔
if a := 10; a == 10 {
	fmt.Println("a==10")
}

在这里插入图片描述

  • if elseif else
    在这里插入图片描述

switch

package main

import "fmt"

func main() {
	num := 1
	switch num {
	case 1:
		fmt.Println("按下的是1楼")
		break
	case 2:
		fmt.Println("按下的是2楼")
		break
	case 3:
		fmt.Println("按下的是3楼")
		break
	default:
		fmt.Println("按下的是xxx楼")
		break
	}
}

在这里插入图片描述

  • go语言保留了break关键字,跳出switch语言,但是如果不写,默认就包含了break

  • Go 可以使用 fallthrough 强制执行后面的 case 代码,无条件执行后面的语句
    在这里插入图片描述

  • 支持一个初始化语句,初始化语句和变量本身,以分号分隔
    在这里插入图片描述

  • go语言中的Switch后面,可以没有条件

在这里插入图片描述

循环

for

go语言中,只有for,没有while,do等

  • 语法
for 初始化条件;判断条件;条件变化{
}

在这里插入图片描述

range

关键字 range 会返回两个值,第一个返回值是元素的数组下标,第二个返回值是元素的值:
在这里插入图片描述

  • 也可以丢弃一些数
    在这里插入图片描述

跳转语句

break

跳出循环,如果嵌套多个循环,跳出最近的那个内循环

break可用于for、switch、select,而continue 仅能用于 for循环。
在这里插入图片描述

continue

跳过本次循环,下一次继续
在这里插入图片描述

goto

用 goto 可以用在任何地方,但是foto跳转到必须在当前函数内定义的标签
在这里插入图片描述 * 要定义标签,就必须要有地方使用
在这里插入图片描述

标签:语句,初始化,--,流程,break,Println,按下,Go,fmt
From: https://blog.csdn.net/m0_73537205/article/details/140065156

相关文章

  • 2024Faceboo 商城自然流(从入门到精通),玩转脸书商城全闭环(教程+资料)
    摘要:本文旨在为读者提供一个全面的Facebook商城操作指南,从基础知识到高级应用技巧,帮助用户深入理解并有效利用Facebook商城进行跨境电商活动。1.引言介绍Facebook商城的发展历程及其在全球电商领域的影响力。2.Facebook商城概述2.1Facebook平台简介2.2Facebook商城的......
  • python自动化内存管理
    引用在编程中,引用是指用来标识、访问或操作某个对象的值的标识符或变量。我们可以将引用看作是对象的别名,通过引用可以操作对象,包括读取、修改和传递对象的值。举例来说,假设我们有一个字符串对象`name`,我们可以创建一个变量`person`来引用这个字符串对象。在这个例子中,`perso......
  • selenium07_select下拉框
    有以下2种方法定位下拉框: 方法一:最基本的元素定位方法,定位下拉框,再定位下拉框中的元素 方法二:fromselenium.webdriver.support.selectimportSelectel=driver.find_element_by_id("nr")  #先定位到下拉框Select(el).select_by_index(0)  #通过下拉框中元素的......
  • LaTeX 编辑协作平台 Overleaf 安装和使用教程
    在学术界和科技行业,LaTeX已成为撰写高质量文档的标准工具。然而,传统的LaTeX使用体验常常伴随着以下挑战:学习曲线陡峭环境配置复杂多人协作困难实时预览不便当然,市面上不乏很多在线LaTeX编辑平台,但它们大多是封闭的商业服务,无法完全满足用户对数据隐私和自主可控的需求......
  • selenium08_鼠标事件、键盘事件
    1.鼠标事件需要导入:fromselenium.webdriver.common.action_chainsimportActionChains1)右击el=driver.find_element_by_id("kw")#定位元素ActionChains(driver).context_click(el).perform()#右击2)双击el= driver.find_element_by_xpath("//div[@id='qrcode�......
  • selenium09_3种等待
    1.time.sleep(2)进程休眠一次有效,一直等待,浪费时间time.sleep(2) 设置2s,等待2s 2.driver.implicitly_wait(10) 隐式等待原理:等当前页面加载完成1)最大等待时间10s2)全局的:脚本中只需写一次,脚本中所有元素定位的场景,都可用3)针对于当前页面的所有元素定位有效缺点:......
  • selenium10_单元测试框架unittest
    一、Python中单元测试框架:unittest框架和pytest框架。本篇记录unittest1.Unittest是通用的,可以做单元测试,接口测试,selenium自动化,app自动化2.需要导入unittest,类继承自unittest.TestCase。3.类名大驼峰;测试方法必须以test开头;测试用例的方法中,不能有参数。4.Pycharm中用un......
  • k8s组件有哪些?
    Kubernetes是谷歌公司一款开源的容器编排管理工具,它的本质是一组服务器集群管理工具,能够在集群的每个节点上运行特定的程序,它的目的是实现资源的管理自动化,主要提供了自我修复,弹性伸缩、服务发现、负载均衡、版本回退、存储编排等功能。1、自我修复:一个容器崩溃,会立......
  • selenium11_js语法
    1.JS语法js中元素定位方法,如下5种方法:a.通过id获取,获取的是单个document.getElementById("id")b.通过name获取,获取的是多个document.getElementsByName("name")[0]c.通过标签名选取元素,获取的是多个document.getElementsByTagName("tag")d.通过CLASS类选取元素,获取的是多个......
  • 使用钉钉Oauth2授权登录Odoo配置
    准备工作需要用到的模块:Odoo/auth_oauthOCA/server-auth/auth_oidc因为钉钉的Oauth授权流程比较特殊,需要继承改造res.users上的几个方法models\res_users.pyclassResUsers(models.Model):_inherit="res.users"dingtalk_userid=fields.Char('DingtalkUser......