Go语言头秃之路(一)

更新系列

Go语言头秃之路(零)
Go语言头秃之路(二)
Go语言头秃之路(三)
Go语言头秃之路(四)
Go语言头秃之路(五)
Go语言头秃之路(六)
Go语言头秃之路(七)


各种基础语句

  • const常量
  1. 常量(const)声明的时候必须赋值,且值不能修改;
    语法:const 变量名 [类型] = 值
  2. 常量只能修饰bool、数值类型(int/float系列)、string类型;
  3. 常量组中某个常量没有赋值会使用上一行变量的表达式;
  4. 常量只定义不使用不会报错;
  5. 一种高级写法 iota(累加器)
    iota只能在常量组中使用,不同的const组互不影响
    const (
    	// 第一个变量值为0,往下逐行累加,同一行的值相等
    	b = iota
    	c
    	d, e = iota, iota
    )
    fmt.Println(b, c, d, e)  // 0 1 2 2
    

  • if语句
    Golang支持在if语句中定义变量
    if age:=2;age >= 18 {
    	fmt.Println("成年人为自己负责!")
    } else {
    	fmt.Println("未成年家长负责!")
    }
    
    注意:
    1. 一定要有大括号;
    2. else与俩括号必须在同一行,换行会报错;

  • switch语句
    golang的switch语句case后的表达式可以有多个,用逗号分隔。switch表达式和case表达式可以是常量、变量或者有返回函数,但是switch表达式值和case表达式值类型必须相同,且多个case常量值不能重复(变量可以重复),否则编译不过。
    golang中的case语句块中不需要加break,其默认会在末尾加上
    在这里插入图片描述
    穿透fallthrough(可以写多个表达式替代此功能)
    在这里插入图片描述
    if和switch使用区分:
    当具体数值不多,且为基础数据类型可以使用switch;
    当做区间判断或结果为bool值时使用if。

  • for循环
    • 包含变量初始化、循环判断条件、循环语句块、变量迭代。
      三种形式
      for i:=1;i<10;i++ {
      		fmt.Println("hello,",i)
      	}
      
      	j:=1
      	for j<10 {
      		fmt.Println("world.",j)
      		j++
      	}
      
      	k:=1
      	for {  // 没有break就是死循环;等价于for ;; {
      		if k<10 {
      			fmt.Println(k)
      			k++
      		} else {
      			break
      		}
      	}
      
      go语言没有while语句,上栗第三种方式可以替代之。
    • 遍历字符串
      注意中文
      str1 := "hello,world!来啦"
      // 按照单字节遍历,一个中文占3个字节,会出现乱码
      for i := 0;i<len(str1);i++ {
      	fmt.Printf("%c\n",str1[i])
      }
      
      str2 := "hey,gay!溜溜"
      // 按照字符遍历,中文可以正常显示,但对应的下标不是顺序的
      for k, v := range str2 {
      	fmt.Printf("%d %c\n",k,v)
      }
      
  • break
    默认跳出最近一层循环,如果需要跳出嵌套循环可以使用标签
    饭粒:
    func main()  {
    	label2:
    	for i:=0;i<3;i++ {
    		for j:=0;j<3;j++ {
    			if j == 2 {
    				break label2
    			}
    			fmt.Println("j =", j)
    		}
    	}
    }
    
    同样的,continue也可以带标签,比如标签在外层循环,则停止外层的当前循环,开始下一次外层循环。
    goto语法作用相同。(不建议使用goto语句,容易程序混乱)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值