go语言流程和函数(五)

#流程控制

  • if语句

go语言的if语句不需要括号,go语言的if还可以在条件判断的地方声明变量,go语言中的goto语句和c语言中的用法一样

func main() {
	var x int = 10

	//go 语言的if不需要括号
	if x > 10 {
		fmt.Println("x is greater than 10")
	} else {
		fmt.Println("x is less than 10")
	}

	//go 语言的条件判断的地方可以声明一个变量
	if y := 100; y > 100 {
		fmt.Println("y is greater than 100")
	} else {
		fmt.Println("y is less than 100")
	}

	//多语句
	if x > 10 {
		fmt.Println("x is greater than 10")
	} else if x == 10 {
		fmt.Println("x is 10")
	} else {
		fmt.Println("x is less than 10")
	}

	//go 语言中的goto语句与c语言中的使用方法相同
}
  • for循环

go语言中的for和c语言类似, break 和continue在这里也同样适用

func main() {
	//go 语言的for和c语言的类似
	for i := 0; i < 100; i++ {
		fmt.Println("i is: ", i)
	}

	//go for语句可以省略表达式1 和 表达式3,用法同while
	x := 0
	for x < 1000 {
		fmt.Println("x is : ", x)
		x += 1
	}

	//同样go语言循环语句中也可以使用break 和 continue,用法和其它语言相同
}
  • switch语句

go语言中的switch的特色之处在于,go语言的case语句后自带break,如果不行case到某条语句后不想break可以使用关键字fallthrough

func main() {
	//1.go语言的case语句后自带break语句,匹配到后自动跳出
	i := 2
	switch i {
	case 1:
		fmt.Println("i is 1")
	case 2:
		fmt.Println("i is 2")
	case 3:
		fmt.Println("i is 3")
	default:
		fmt.Println("none")
	}

	//2.可以使用fallthrough强制执行后面的语句
	switch i {
	case 1:
		fmt.Println("i is 1")
		fallthrough
	case 2:  //case到2后强制执行吓一跳case
		fmt.Println("i is 2")
		fallthrough
	case 3:
		fmt.Println("i is 3")
		fallthrough
	default:
		fmt.Println("none")
	}
}

#函数

  • go语言函数支持多个返回值
func funcName(input1 type1, input2 type2) (output1 type1, ouput2 type2) {
	//code
	//返回多个值
	return value1, value2
}
  • 变参函数
    函数体中,变量arg是一个int的slice
func func1(arg ...int) {
	for _, n := range arg {
		fmt.Println("arg is: ", n)
	}
}
  • 传值与传指针
    go 语言的指针同样也是使用 & 和 *

  • defer
    函数中使用defer语句,当函数执行到最后时defer语句会按照逆序执行,最后函数返回

  • main 函数和init函数
    init 能够应用到所有的package,main函数只能应用到package main
    这两个函数在定义时不能有任何的参数和返回值,go语言会自动调用init和main函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值