go基础_控制语句
if控制语句
说明:(1)if后面的条件语句不用加括号
(2)if后面可以跟一个简单的初始化语句,并以分号分割,初始化语句中的变量的作用域是整个if语句块
(3)if语句的条件语句需要尽量简单
(4)go语言没有条件运算语句(例如,a>b?1:0)
package main import (
"fmt"
) func main() { b := 10
if a := 10; a < b {
fmt.Println("a < b")
} else if a == b {
fmt.Println("a == b")
} else {
fmt.Println("a > b")
}
}
switch控制语句
fallthrough的作用:不再判断下一个case(注意是下一个,不是下面所有的case子句)
package main
import "fmt"
func main() {
switch letter := 'y'; letter {
case 'y', 'Y':
fmt.Println("yes")
fallthrough
case 'n', 'N':
fmt.Println("no")
case 'a', 'A':
fmt.Println("all")
}
}
运行结果
package main
import "fmt"
func main() {
switch letter := 'y'; letter {
case 'y', 'Y':
fmt.Println("yes")
fallthrough
case 'n', 'N':
fmt.Println("no")
case 'a', 'A':
fmt.Println("all")
}
}
switch语句中,default可以放在任意位置,不影响处理逻辑
举例
switch letter := 'h'; letter {
default:
fmt.Println("default")
case 'y', 'Y':
fmt.Println("yes")
fallthrough
case 'n', 'N':
fmt.Println("no")
case 'a', 'A':
fmt.Println("all")
}
运行结果
default
成功: 进程退出代码 0.
for循环控制语句
go语言中只有1种循环,那就是for
// 数组类型控制的for循环
func for_array() {
arr := [4]int{1, 2, 3}
for idx := range arr {
fmt.Println(arr[idx])
}
}
//切片类型控制的for循环
func for_slice() {
arr := [...]int{1, 2, 3, 4, 5, 6}
sli := arr[4:]
for idx := range sli {
fmt.Println(sli[idx])
}
}
// make切片控制的for循环
func for_slice2() {
sli := make([]int, 3)
sli[0] = 1
sli[1] = 2
for idx := range sli {
fmt.Println(sli[idx])
}
} 运行结果:
1
2
0
成功: 进程退出代码 0.
// map控制的for循环
func for_map() {
student_list := map[string]int{"name_a": 1, "name_b": 2, "name_c": 3} for k, _ := range student_list {
fmt.Println(k)
}
for _, v := range student_list {
fmt.Println(v)
}
for k, v := range student_list {
fmt.Println(k, v)
}
}
go基础_控制语句的更多相关文章
- [.net 面向对象编程基础] (7) 基础中的基础——流程控制语句
[.net 面向对象编程基础] (7) 基础中的基础——流程控制语句 本来没有这一节的内容,后来考虑到既然是一个系列文章,那么就尽可能写的详细一些,本节参考了网上朋友所写的例子,为的是让更多小伙伴学习 ...
- 算法基础_递归_求杨辉三角第m行第n个数字
问题描述: 算法基础_递归_求杨辉三角第m行第n个数字(m,n都从0开始) 解题源代码(这里打印出的是杨辉三角某一层的所有数字,没用大数,所以有上限,这里只写基本逻辑,要符合题意的话,把循环去掉就好) ...
- Flutter实战视频-移动电商-05.Dio基础_引入和简单的Get请求
05.Dio基础_引入和简单的Get请求 博客地址: https://jspang.com/post/FlutterShop.html#toc-4c7 第三方的http请求库叫做Dio https:/ ...
- Flutter实战视频-移动电商-08.Dio基础_伪造请求头获取数据
08.Dio基础_伪造请求头获取数据 上节课代码清楚 重新编写HomePage这个动态组件 开始写请求的方法 请求数据 .但是由于我们没加请求的头 所以没有返回数据 451就是表示请求错错误 创建请求 ...
- [Zlib]_[0基础]_[使用zlib库压缩文件]
场景: 1. WIndows上没找到系统提供的win32 api来生成zip压缩文件, 有知道的大牛麻烦留个言. 2. zlib比較经常使用,编译也方便,使用它来做压缩吧. MacOSX平台默认支持z ...
- python基础_格式化输出(%用法和format用法)(转载)
python基础_格式化输出(%用法和format用法) 目录 %用法 format用法 %用法 1.整数的输出 %o -- oct 八进制%d -- dec 十进制%x -- hex 十六进制 &g ...
- java基础之 控制语句
java基础之控制语句 在java中控制语句包括: if-else语句 swicth-case 语句 while循环 do-while循环 for循环 break语句 continue语句 其中:if ...
- JS基础_流程控制语句
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 二、java基础-运算符_控制语句_break_continue_return
1.运算符 1)算术运算符:6个+ — * \ % ++ --2)关系运算符:6个> >= < <= == !=3)布尔运算符&&并且 ||或 ...
随机推荐
- 部件MSCOMCTL.OCX或其附件之一不能正确注册:一个文件丢失或无效
部件MSCOMCTL.OCX或其附件之一不能正确注册:一个文件丢失或无效: https://blog.csdn.net/yilese/article/details/71479908
- 多项式对数函数 - NTT
#include <bits/stdc++.h> using namespace std; #define int long long const int N=4000005; // 4 ...
- 在电脑上用chrome浏览器调试android手机里的网页代码时,无法看到本地加载的js文件
在需要调试的js文件最顶部加上代码就可以看到了: console.log('haha'); debugger;
- Pycharm常用快捷捷捷啊键= =
超多快捷键的其实,懒得都记住(主要是记不住……) 这里记录一下自己觉得用了确实会很省事的,特别是当你没有鼠标的时候 = = 超常用的 Ctrl + / 注释该行 Ctrl + D 复制该行到下一行 ...
- pymysql模块学习
#Pymysql 用于连接mysql数据库 #连接数据库 data_ip = "192.168.34.128" data_name = "lch" data_p ...
- JS高级---创建正则表达式对象
创建正则表达式对象 两种: 1.通过构造函数创建对象 2.字面量的方式创建对象 正则表达式的作用: 匹配字符串的 //对象创建完毕--- var reg = new RegExp(/\d{5} ...
- 《深入理解Java虚拟机》读书笔记二
第三章 垃圾收集器与内存分配策略 1.判断对象是否已死 引用计数法: 给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1,每当引用失效时,计数器值就减1. 任何时刻计数器为0的对象就是不 ...
- django--关于部署scrapyd项目报错问题
首先在同步两篇之前写过的博客,可能能用得到 1.https://www.cnblogs.com/lutt/p/10893192.html2.https://www.cnblogs.com/lutt/p ...
- Mysql数据多表查询及pymysql的使用
Exists关键字表示存在,在使用exists关键字时,内增查询语句不返回查询记录,而是返回一个真假值,True或者False,返回True外层语句才会进行查询:返回False时,外层查询语句不会进行 ...
- AcWing 827. 双链表
https://www.acwing.com/problem/content/829/ #include <iostream> using namespace std; ; int m; ...