Go入门:二、流程控制

这是我的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)
	}
}

赞赏

微信赞赏支付宝赞赏

发表评论

电子邮件地址不会被公开。 必填项已用*标注