Go的语句

Go的语句

if语句

  • 看代码理解
param := 10

if param == 10 {
	fmt.Println("param == 10")
} else {
	fmt.Println("param != 10")
}
  • if/else是判断语句, Go的if和c++一样需要加大括号, 使用else if, 和python一样判断条件不用加小括号
  • 注意: 由于Go语言的强限制, 所以else不可以另起一行, 左大括号也不可以另起一行
  • Go的if可以加一个赋值/初始化语句, 类似于下面这样:
package main

import "fmt"

func main() {
	param := 10

	if param = 3; param == 10 {
		fmt.Println("yes")
	} else {
		fmt.Println("no")
	}
}

注:
if只可以加一个语句, 如果再写一个param1 = 3;就会报语法错误

switch语句

  • 见代码:
package main

import "fmt"

func main() {
	param := 1

	switch param {
	case 1:
		fmt.Println("1")
	case 2:
		fmt.Println("2")
	default:
		fmt.Println("...")
	}
}
  • Go的switch和c++的类似, 区别在于 —— Go之中的case默认加上了break, 如果想要执行完一个case之后不跳出switch继续执行下面的case就可以加上fallthrough

for语句

  • Go语言之中没有while, 也没有do…while, 只有for和range, for和c可以说是一模一样
  • Go语言没有++i, 只有i++, 见例子:
package main

import "fmt"

func main() {
	sum := 0
	
	for i := 1;i <= 100;i++ {
		sum += i
	}

	fmt.Println("sum = ", sum)
}

range语句

  • range是Go的迭代语法, 可以拿python的range, in等来类比记忆
  • range 默认返回2个值, 第一个是下标, 第二个是下标对应的值, 如果只用一个变量来接收, 那么第二个返回值默认是丢弃的, 这个时候, 为了方便看, 可以使用匿名变量_来接收
package main

import "fmt"

func main() {
	str := "hello"

	for index, _ := range str {
		fmt.Println(index)
	}
}

跳转语句

  • break和continue和goto语句都和c一样

猜你喜欢

转载自blog.csdn.net/weixin_43891775/article/details/113072760
今日推荐