热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

go基础流程控制

#流程控制1.条件语句ifcondition{处理一些东西}ifelseifcondition{如果condition为真condition条件满足为真执行这里}else{否则当c

# 流程控制


1. 条件语句

if condition {
// 处理一些东西
}
// if else
if condition { // 如果condition为真
// condition条件满足为真执行这里
} else { // 否则
// 当condition条件不满足为假的时候执行这里
}
if condition { // 先判断condition是否为真

} else if condition1 { // 如果condition 不为真,判断condition1是否为真

} else { // 当condition和condition1都不为真的时候执行这里

}

举个例子

score := 80
if score > 90 {
// 优秀
} else if score <= 90 && score >= 60 {
// 及格
} else {
// 不及格
}
if score1 := 100; score1 > 90 { // 变量初始化语句可以写在if后边,用;隔开
// 优秀
}



  • 条件语句不需要使用圆括号将条件包含起来 ()

  • 无论语句体内有几条语句,花括号 {} 都是必须存在的;

  • 左花括号 { 必须与 if 或者 else 处于同一行;



2. 条件分支

switch var1 {
case val1:
// break go语言不需要这个玩意
// fallthrough 如果加上这个语句的话,那么条件val2里的也会执行
case val2:
...
default:
...
}



  • 和条件语句一样,左花括号 { 必须与 switch 处于同一行;

  • 单个 case 中,可以出现多个结果选项(通过逗号分隔);

  • 与其它语言不同,Go 语言不需要用 break 来明确退出一个 case

  • 只有在 case 中明确添加 fallthrough 关键字,才会继续执行紧跟的下一个 case



3. 循环语句


基本使用

for i := 1; i <= 100; i++ {
// 执行一些什么东西
// continue 跳过本次循环,循环体从这里往下的代码不在执行
// break 退出循环
}

无限循环

for {
// 执行一些东西
// 可以使用break语句退出循环
}

for range

a := []int(1,2,3,4)
for k, v := range a {
// k 索引
// v 值
}
for _,v :range a { // 忽略索引

}

基于条件判断进行循环

i := 0
for i <100 {
// 当i小于100时执行
}



  • 和条件语句、分支语句一样,左花括号 { 必须与 for 处于同一行;

  • 不支持 whiedo-while 结构的循环语句;

  • 可以通过 for-range 结构对可迭代集合进行遍历;

  • 支持基于条件判断进行循环迭代;

  • 允许在循环条件中定义和初始化变量,且支持多重赋值;


本文来自博客园,作者:颖小主,转载请注明原文链接:https://www.cnblogs.com/yingxiaozhu/p/16114895.html



推荐阅读
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • This guide provides a comprehensive step-by-step approach to successfully installing the MongoDB PHP driver on XAMPP for macOS, ensuring a smooth and efficient setup process. ... [详细]
  • 非公版RTX 3080显卡的革新与亮点
    本文深入探讨了图形显卡的进化历程,重点介绍了非公版RTX 3080显卡的技术特点和创新设计。 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • 本文详细介绍 Go+ 编程语言中的上下文处理机制,涵盖其基本概念、关键方法及应用场景。Go+ 是一门结合了 Go 的高效工程开发特性和 Python 数据科学功能的编程语言。 ... [详细]
  • 本文详细介绍了 GWT 中 PopupPanel 类的 onKeyDownPreview 方法,提供了多个代码示例及应用场景,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 资源推荐 | TensorFlow官方中文教程助力英语非母语者学习
    来源:机器之心。本文详细介绍了TensorFlow官方提供的中文版教程和指南,帮助开发者更好地理解和应用这一强大的开源机器学习平台。 ... [详细]
  • 本文介绍如何使用Objective-C结合dispatch库进行并发编程,以提高素数计数任务的效率。通过对比纯C代码与引入并发机制后的代码,展示dispatch库的强大功能。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有