这是我的go语言学习笔记的第二篇,go语言的流程控制。流程控制是计算机语言的基本组成部分。一般的流程控制有顺序,分支,循环。这次来学习一下go语言的流程控制都有哪些,语法是什么样的。
我将会通过以下步骤来入门go语言
1. 变量和数据类型
2. 流程控制方法
3. 函数声明和调用
4. 面向对象
5. 语言特性
6. 标准库
条件分支
go语言的条件分支有: if语句,if…else…语句,switch…case…语句。和大多数语言差别不大!
if 语句语法
// 纯if if 条件语句 { 表达式 } // 带有else 的 if if 条件语句1 { 表达式1 } else 条件语句2 { 表达式2 } // 带有if else 的if if 条件语句1 { 表达式1 } else if 条件语句2 { 表达式2 } else { 表达式3 }
Go语言的 if 语句没有括号(for,switch也没有)!习惯了括号的需要反这个习惯!
动手实践一下!根据不同的条件输出不同的字符串!这里用的 fmt.Println() 是打印语句,输出到屏幕。
学习语言最好的方法就是一定要亲自动手写代码,不要复制粘贴!写多了,就熟悉,感觉就来了!
package main import "fmt" func main() { var i int // 给i设置不同的值,看看打印什么 i = 0 if i > 0 { fmt.Println("i>0") } else { fmt.Println("i<=0") }}
switch 语句语法
switch 判断 { case 值1: 表达式1 case 值2: 表达式2 default: 表达式3 }
注:Go语言的的switch里面可以不用写break语句!
动手写一个switch的完整程序!将上面的 if 改成了switch实现
package main import "fmt" func main() { var i int i = 0 switch i > 0 { case true: fmt.Println("i>0") default: fmt.Println("i<=0") }}
循环
go语言只有for循环可以用,不过这个for循环集成了类似c语言的while循环的功能。
for常规循环
for 初始值; 条件; 每一步执行语句 { 循环体语句 }
一个非常普通的循环语句,类c语言基本这么写,Go去掉了括号。老规矩,还是动手写一个循环!
package main import "fmt" func main() { for i := 0; i < 10; i++ { fmt.Println(i) }}
for类似while循环
for 条件 { 循环体语句 }
这不就是个while,批了一层Go的外衣!
package main import "fmt" func main() { i := 0 for i < 10 { fmt.Println(i) i++ }}
for无限循环
for { 循环语句 }
for迭代
for key,value := range 可迭代对象 { 循环体语句}
可迭代对象有 slice、map、数组、字符串!
比如迭代一个字符串
package main import "fmt" func main() { // 迭代一个字符串 str := "hello" for idx, value := range str { fmt.Println(idx, value) } }