Go语言学习 _基础02 _条件表达式、分支、循环
Go语言学习 _基础02 _条件表达式、分支、循环
条件表达式和switch
package condition
import "testing"
func TestCondiction(t *testing.T) {
if a := 1 == 1; a { // 声明 加 条件判断
t.Log("1==1")
} else {
t.Log("1!=1")
}
/*if v,err := someFun(); err==nil{
t.Log("success")
}else{
t.Log("Erro")
}*/
// TODO 由于 go对于多返回值的 支持
// TODO 加上 可以 直接赋值并判断的 写法
// TODO 可以直接接受 从函数返回的 变量 和 错误 形成上面这种 简洁高效的 编程模式
}
// switch
// TODO Go语言 的 多分支 case 默认有 break 兜底 所以不存在 case击穿的 情况
// TODO case 后面还可以组织 多个元素 无论命中哪个都可以进入case
// TODO switch-case 使用 条件表达式作为 case 进行串联 就是 if-else-if 结构的 简化写
func TestSwitchMultiCase(t *testing.T) {
for i := 0; i < 5; i++ {
switch i {
case 0, 2:
t.Log("Even")
case 1, 3:
t.Log("Odd")
default:
t.Log("it is not 0~3")
}
}
}
func TestSwitchCaseCondition(t *testing.T) {
for i := 0; i < 5; i++ {
switch {
case i%2 == 0:
t.Log("Even")
case i%2 == 1:
t.Log("Odd")
default:
t.Log("unknow")
}
}
}
循环结构
package loop
import "testing"
func TestWhileLoop(t *testing.T){
n := 0
for n < 5 {
t.Log(n)
n++
}
}
Go语言学习 _基础02 _条件表达式、分支、循环的更多相关文章
- Groovy语言学习--语法基础(5)
至此groovy语言学习-语法基础就结束了,新的工作已经安排下来,要干活了. 对groovy了解到一定程度之后就可以在java项目中对其进行引入了.为此新建了一个微型的项目,个人觉得千言万语不如代码实 ...
- Groovy语言学习--语法基础(1)
2018年11月末,从上家公司离职后进入现在的公司.进入项目以来,发现项目中有很多groovy脚本,以前没接触过groovy,抽时间系统地学一下,也方便后期项目的开发和维护. groovy和java的 ...
- Shell学习(三)——Shell条件控制和循环语句
参考博客: [1]Shell脚本的条件控制和循环语句 一.条件控制语句 1.if语句 1.1语法格式: if [ expression ] then Statement(s) to be execut ...
- python学习笔记-(三)条件判断和循环
1.条件判断语句 Python中条件选择语句的关键字为:if .elif .else这三个.其基本形式如下: age_of_cc = 27 age = int(input("guessage ...
- Swift学习(三)类型推导&基本运算&分支&循环
一.Swift中类型推导&基本运算 Swift中类型推导 如果一个标识符在定义时有直接赋值,那么可以根据后面赋值的类型,来推导出前面标识符的类型,这样前面标识符的(:类型)可以省略 查看标识符 ...
- oc语言学习之基础知识点介绍(一):OC介绍
一.第一个OC程序 #import <Foundation/Foundation.h> //导入头文件 int main(int argc, const char * argv[]) ...
- oc语言学习之基础知识点介绍(五):OC进阶
一.点语法介绍 /* 以前封装后,要给属性赋值,必须调用方法 这样做,有两个缺点: 1.代码量多,调用方法要写的东西多. 2.看起来并不像是给属性赋值,也不像取值. 我们用点语法就可以更好的解决! 点 ...
- oc语言学习之基础知识点介绍(三):类方法、封装以及继承的介绍
一.类方法的使用 /* 像我们之前学的方法,必须先实例化这个类的对象才能调用这个方法,类方法不用实例化对象,直接调用这个方法. 之前学的方法调用的语法: [对象名 方法名]; //对象方法 类方法: ...
- c语言学习之基础知识点介绍(七):循环结构
本节主要介绍循环结构 一.while循环 /* 语法: while(表达式){ //循环体; } 注意:循环变量.循环条件和循环控制语句三者缺一不可. 例如: */ ; //循环变量 ){ //循环条 ...
- c语言学习之基础知识点介绍(四):算术运算符和逗号表达式
本节主要介绍c语言中运算符. 运算符主要分为四类: 1.算术运算符 加(+),减(-),乘(*),除(/),取余(%,两数相除,得到余数) 2.关系运算符 3.逻辑运算符 4.换位运算符 下面将依次介 ...
随机推荐
- 清除 Nuxt 数据缓存:clearNuxtData
title: 清除 Nuxt 数据缓存:clearNuxtData date: 2024/8/6 updated: 2024/8/6 author: cmdragon excerpt: 摘要:本文详细 ...
- YOLOv10添加输出各类别训练过程指标
昨天有群友,在交流群[群号:392784757]里提到了这个需求,进行实现一下 V10 官方代码结构相较于 V8 稍微复杂一些 yolov10 是基于 v8 的代码完成开发,yolov10 进行了继承 ...
- Elsa V3学习之Flowchart详解(上)
前面我们通过界面学习了Elsa的一些基本使用,若是有实操的小伙伴们,应该可以发现,我们工作流定义中的root,既我们的工作流画布其实也是一个activity,就是Flowchart.那么本文将来解读以 ...
- 2024 NepCTF
NepCTF NepMagic -- CheckIn 直接玩游戏就能出 注意有一关要把隐藏的方块全找到 NepCamera 先使用tshark读取数据 结果文件中发现大量jpeg头ffd8ffe0. ...
- iptables 命令使用帮助总结
本文为博主原创,转载请注明出处: 1.iptables 命令帮助参数 root@controller1:~# iptables --help iptables v1.6.1 Usage: iptabl ...
- WPF性能优化之UI虚拟化
@ 目录 前言 一.VirtualizingStackPanel 1.1 虚拟化功能介绍 1.在Window中添加一个ListBox控件. 2.在设计视图中用鼠标选中ListBox控件并右健依次单击& ...
- webpack高版本抽离css样式报错[已解决]
全局安装的webpack版本是5.51.1,webpack-cli是4.9的版本; 本来想用 extract-text-webpack-plugin 的,但是报错了,查了一下文档 发现,已经不支持新版 ...
- 以太坊Rollup方案之 arbitrum(1)
什么是Rollup? 以太坊的Rollup扩容是一种Layer 2(第二层)扩容解决方案,旨在提高以太坊区块链的交易吞吐量和性能.它通过将大量的交易数据转移到以太坊区块链之外的第二层网络来实现这一目标 ...
- PRCV 2023:语言模型与视觉生态如何协同?合合信息瞄准“多模态”技术
PRCV 2023:语言模型与视觉生态如何协同?合合信息瞄准"多模态"技术 近期,2023年中国模式识别与计算机视觉大会(PRCV)在厦门成功举行.大会由中国计算机学会(CCF). ...
- Java SE 23 新增特性
Java SE 23 新增特性 作者:Grey 原文地址: 博客园:Java SE 23 新增特性 CSDN:Java SE 23 新增特性 源码 源仓库: Github:java_new_featu ...