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)布尔运算符&&并且 ||或 ...
随机推荐
- Docker最全教程---从理论到实战
目录 前言 随着生产力的发展尤其是弹性架构的广泛应用(比如微服务),许多一流开发者都将应用托管到了应用容器上,比如Google.微软.亚马逊.腾讯.阿里.京东和新浪. 从未来的发展方向来看,容器引擎将 ...
- Go源码文件与命令
Go源码文件 文件类型 命令源码文件 : 声明自己属于main包且包含main函数的源码文件,一个包里边不要有多个命令源码文件,虽然用go install ,go run单独执行命令源码文件没有问题, ...
- AcWing 278. 数字组合 求方案数目
//M看成背包容量,把每个数看成一个物品,Ai看成是体积 //目标:求总体积恰好为M的方案数目 #include <iostream> using namespace std; ; int ...
- oracle 锁表处理
1.查询 select object_name,machine,s.sid,s.serial#from v$locked_object l,dba_objects o ,v$session swher ...
- codeforces Codeforces Round #597 (Div. 2) Constanze's Machine 斐波拉契数列的应用
#include<bits/stdc++.h> using namespace std; ]; ]; ; int main() { dp[] = ; scanf(); ); ; i< ...
- 状态压缩DP入门题
. /*本题为状态压缩题 题目大意 : 一个矩阵里有很多格子,每个格子有两种状态,可以放牧和不可以放牧, 可以放牧用1表示,否则用0表示,在这块牧场放牛,要求两个相邻的方 格不能同时放牛(不包括斜着的 ...
- koa2第一天 安装koa2
安装全局koa2:npm install -g koa2 -generator 创建一个koa2文件夹:koa2 -e koa2 进入koa2文件夹:cd koa2 安装npm模块:npm insta ...
- 2分钟就能学会的【Google/百度搜索大法】了解一下?
之前我在知乎回答了「日常生活中有哪些十分钟就能学会并可以终生受用的技能」,现在也整理分享给公众号的朋友们. 作为一个入坑8年国际贸易的老阿姨,真心推荐[google搜索大法](同样适用于百度). 2分 ...
- dea创建Maven工程用c3p0连接数据库报错java.sql.SQLException: Connections could not be acquired from the underlying
idea java.sql.SQLException: Connections could not be acquired from the underlying database! 转载自:ht ...
- 杭电ACM 1713 相遇周期
相遇周期 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...