Go语言学习笔记【2】 基础语法

【声明】

非完全原创,部分内容来自于学习其他人的理论和B站视频。如果有侵权,请联系我,可以立即删除掉。

一、流程控制

Go语言支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构。

  • 顺序结构:程序按顺序执行,不发生跳转。
  • 选择结构:依据是否满足条件,有选择的执行相应功能。
  • 循环结构:依据条件是否满足,循环多次执行某段代码。

1、 选择结构

和C语言一样,Go语言中的选择结构分为:ifswitch

1.1 if结构

(1)if
package main //必须有一个main包
import "fmt"
func main() {
   
	//if和{就是条件,条件通常都是关系运算符
	if s := true; s {
    //左括号和if在同一行
		fmt.Println("s = %t", s)
	}
}
(2)if…else
package main //必须有一个main包
import "fmt"
func main() {
   
    if a := false; a {
   
        fmt.Println("true")
    } else {
    //左大括号必须和条件语句或else在同一行
        fmt.Println("false")
    }
}
(3)if…elseif…else
package main //必须有一个main包
import "fmt"
func main() {
   
	//这种好
	a := 10
	if a == 10 {
   
		fmt.Println("a == 10")
	} else if a > 10 {
   
		fmt.Println("a > 10")
	} else if a < 10 {
   
		fmt.Println("a < 10")
	} else {
   
		fmt.Println("这是不可能的")
	}
}

1.2 switch结构

Go里面switch默认相当于每个case最后带有break,匹配成功后不会自动向下执行其他case,而是跳出整个switch, 但是可以使用fallthrough强制执行后面的case代码

注意:与C语言的区别在于,go语言的switch中的case可以加条件表达式

(1)fallthrough不跳出case
package main //必须有一个main包
import "fmt"

func main() {
   
	var num int
	fmt.Printf("请按下楼层:")
	fmt.Scan(&num)

	switch num {
    //switch后面写的是变量本身
	case 1:
		fmt.Println("按下的是1楼")
		//break //go语言保留了break关键字,跳出switch语言, 不写,默认就包含
		fallthrough //不跳出switch语句,后面的无条件执行
	case 2:
		fmt.Println("按下的是2楼")
		//break
		fallthrough
	case 3:
		fmt.Println("按下的是3楼")
		//break
		fallthrough
	case 4:
		fmt.Println("按下的是4楼")
		//break
		fallthrough
	default:
		fmt.Println("按下的是xxx楼")
	}
}

在这里插入图片描述

(2)case后跟条件判断
package main //必须有一个main包
import "fmt"
func main() {
   
	score := 85
	switch {
    //可以没有条件
	case score > 90: //case后面可以放条件
		fmt.Println("优秀")
	case score > 80: //case后面可以放条件
		fmt.Println("良好")
	case score > 70: //case后面可以放条件
		fmt.Println("一般")
	default:
		fmt.Println("其它")
	}
}

2、循环结构

C语言中的循环结构有:for、while、do…while。而go语言中循环结构只有:forrange

2.1 for循环

package main //必须有一个main包
import "fmt"

func main() {
   
	/* for的格式:
		for 初始化条件 ;  判断条件 ;  条件变化 {
		}
	*/

	sum := 0
	//1) 初始化条件  i := 1
	//2) 判断条件是否为真, i <= 100, 如果为真,执行循环体,如果为假,跳出循环
	//3) 条件变化 i++
	//4) 重复2, 3, 4
	for i := 1; i <= 100;</
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值