Go----GoLand注意事项二

注意事项二

1)条件分支语句

switch语句---基于不同条件执行不同动作
select语句---类似于switch,区别在于select会随机执行一个可运行的case;如果没有case可运行,将阻塞,直到有case可运行;

2)循环控制语句

break语句---中断当前for循环或者跳出switch语句
continue语句---跳过当前循环剩余的语句,继续执行下一轮循环
goto语句---将控制转移到被标记的语句

3)特殊写法

if statement; condition{//statement在if中定义,就只能在if...else语句块中使用
	//代码块
}
package main
import "fmt"
func main()  {
	if num:=10; num%2==0{
		fmt.Println(num,"偶数")
	}else {
		fmt.Println(num,"奇数")
	}
}

4)switch语句注意

switch var1{
	case val1:
		...
	case val2:
		...
	default:
		...
}
第一:Go语言中的switch默认给每个case自带break;
第二:可以添加fallthrough(贯穿)强制执行后面的case分支,且需放在case分支的最后一行;
第三:case后可以有多个值,之间使用逗号分隔,例如:case val1,val2,cal3;

5)类型转换—switch被用于type switch(类型转换)—判断interface变量中实际存储的变量类型;

switch x.(type){
	case type:
		statement(s)
	case type:
		statement(s)
	default:
		statement(s)
}
package main
import "fmt"
func main()  {
	var x interface{}
	switch i:=x.(type) {
	case nil:
		fmt.Printf("x的类型 :%T",i)
	case int:
		fmt.Printf("x是int型")
	case float64:
		fmt.Printf("x是float64型")
	case func(int) float64:
		fmt.Printf("x是func(int)型")
	case bool,string:
		fmt.Printf("x是bool或string型")
	default:
		fmt.Printf("未知型")
	}
}

6)for循环语句—Go没有while、do…while循环;

语法结构:
for 初始语句init; 条件表达式condition; 结束语句post {
	//循环体代码
}
//注意---初始语句、条件表达式和结束语句3种组成部分是可选的---4种略不同的写法---分号必须写(全部省略时---可全部不写);

7)for循环的range格式对string、slice、array、map、channel等进行迭代循环;

array、slice、string返回索引和值;map返回键和值;channel只返回通道内的值
for key,value:=range oldMap{
	newMap[key]=value
}
package main
import "fmt"
func main()  {

	str :="123ABCabc大帅哥"
	for i,value:=range str{
		fmt.Printf("第 %d 位的ASCII值=%d,字符是%c \n",i,value,value)//%c就是输出ASCII对应的字符
	}
}

8)goto语句—无条件转移到程序指定的行;

	//通常于条件语句搭配使用---实现条件转移、构成循环、跳出循环体等
	LABEL: statement
		goto LABEL
package main
import "fmt"
//goto跳转输出1~50的素数
func main()  {
	var C,c int
	C=1
	LOOP:
	for C<50{
		C++
		for c=2;c<C;c++{
			if C%c==0{
				goto LOOP
			}
		}
		fmt.Printf("%d \t",C)
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LH-Code

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值