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基础_控制语句的更多相关文章

  1. [.net 面向对象编程基础] (7) 基础中的基础——流程控制语句

    [.net 面向对象编程基础] (7) 基础中的基础——流程控制语句 本来没有这一节的内容,后来考虑到既然是一个系列文章,那么就尽可能写的详细一些,本节参考了网上朋友所写的例子,为的是让更多小伙伴学习 ...

  2. 算法基础_递归_求杨辉三角第m行第n个数字

    问题描述: 算法基础_递归_求杨辉三角第m行第n个数字(m,n都从0开始) 解题源代码(这里打印出的是杨辉三角某一层的所有数字,没用大数,所以有上限,这里只写基本逻辑,要符合题意的话,把循环去掉就好) ...

  3. Flutter实战视频-移动电商-05.Dio基础_引入和简单的Get请求

    05.Dio基础_引入和简单的Get请求 博客地址: https://jspang.com/post/FlutterShop.html#toc-4c7 第三方的http请求库叫做Dio https:/ ...

  4. Flutter实战视频-移动电商-08.Dio基础_伪造请求头获取数据

    08.Dio基础_伪造请求头获取数据 上节课代码清楚 重新编写HomePage这个动态组件 开始写请求的方法 请求数据 .但是由于我们没加请求的头 所以没有返回数据 451就是表示请求错错误 创建请求 ...

  5. [Zlib]_[0基础]_[使用zlib库压缩文件]

    场景: 1. WIndows上没找到系统提供的win32 api来生成zip压缩文件, 有知道的大牛麻烦留个言. 2. zlib比較经常使用,编译也方便,使用它来做压缩吧. MacOSX平台默认支持z ...

  6. python基础_格式化输出(%用法和format用法)(转载)

    python基础_格式化输出(%用法和format用法) 目录 %用法 format用法 %用法 1.整数的输出 %o -- oct 八进制%d -- dec 十进制%x -- hex 十六进制 &g ...

  7. java基础之 控制语句

    java基础之控制语句 在java中控制语句包括: if-else语句 swicth-case 语句 while循环 do-while循环 for循环 break语句 continue语句 其中:if ...

  8. JS基础_流程控制语句

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. 二、java基础-运算符_控制语句_break_continue_return

    1.运算符 1)算术运算符:6个+ — * \ % ++  --2)关系运算符:6个>  >=  <  <=   ==   !=3)布尔运算符&&并且  ||或 ...

随机推荐

  1. LED Holiday Light -holiday Light Inspection Implementation Recommendations

    China LED Holiday Light Factory & Ninghai County Haohua Electronic Appliance Co., Ltd. pointed o ...

  2. ASP.NET Razor 常用示例

    1.在网页中显示@符号 使用@@即可使编译器不切换到c#,这样在网页中会显示一个@符号. 2.隐式表达式 也就是正常的razor语法,不能包含空格.(除了await 如:<p>@await ...

  3. PP: Shape and time distortion loss for training deep time series forecasting models

    Problem: time series forecasting Challenge: forecasting for non-stationary signals and multiple futu ...

  4. 智能手机中下一次被消灭的部件是电话卡和TF卡

    智能手机中下一次被消灭的部件是电话卡和TF卡. 侧滑实体键盘,实体拍照键,HDMI外接接口,实体切换双卡键,可拆卸后盖……这些都消亡了,被其更好的内在设计所取代.而电话卡和TF卡仍在使用.将来的智能手 ...

  5. zabbix4.2配置监控华为路由器:基于ENSP模拟器

    一.基于ENSP模拟器的华为路由器 这里是华为模拟器中的设备,并不是真机,所以要先保证华为模拟器中的网络设备可以和物理主机.虚拟机能通信,这是前提.如何保证通信请看之前的文章:https://www. ...

  6. c#中的位运算

    &与  全为1才是1 |或  全为0才是0 !非  两边相同时为1,不同时为0 ~取反  0变1,1变0,包括符号位 >>右移 溢出舍掉,正数补0,负数补1,移动n位:原数 / 2 ...

  7. 在多租户(容器)数据库中如何创建PDB:方法3 克隆远程PDB

    基于版本:19c (12.2.0.3) AskScuti 创建方法:克隆远程PDB(从非当前CDB中进行远程克隆).将 CDB2 中的 ERP1 远程克隆为 CDB1 中的 PDB6 对应路径:Cre ...

  8. AcWing 898. 数字三角形

    //从上往下 #include <iostream> #include <algorithm> using namespace std; , INF = 1e9; int n; ...

  9. 1.6 APP需要怎么测试

    来源:  https://tieba.baidu.com/p/5011439767           http://www.cnblogs.com/testwriter/p/6702624.html ...

  10. 常用统计分析python包开源学习代码 numpy pandas matplotlib

    常用统计分析python包开源学习代码 numpy pandas matplotlib 待办 https://github.com/zmzhouXJTU/Python-Data-Analysis