go语言(五) if判断和for循环

if条件结构

if条件和PHP的一直,就是条件没有用圆括号括住

package main

import "fmt"

func main() {
	age := 30
	if age >= 30 {
		fmt.Println("30而立了老铁, 赶紧努力")
	} else {
		fmt.Println("青春就是浪")
	}
}

// 特殊写法
// 作用域, age1变量此时只在if条件判断语句中生效
	if age1 := 19; age > 8 {
		fmt.Println(age1)
	}

for循环

基本格式

package main

import (
	"fmt"
	"unicode"
)

func main() {
	// 变种1, 变量在外部定义
	i := 5
	for ; i < 10; i++ {
		fmt.Println(i)
	}

	// 变种2, 定义变量和增量在外部和内部去实现,不在for语句本上实现
	i1 := 5
	for i1 < 10 {
		fmt.Println(i1)
		i1++
	}

	// 变种3, 死循环
	for {
		i++
		if i == 30 {
			break
		}
		fmt.Println(i)
	}

	// for range循环, 专门循环字符串/数组/切片/map/通道(map和通道暂且不知道是什么)
	// 有以下规律 1.数组/切片/字符串返回索引和值  2.map返回键和值 3.通道值返回通道内的值
	s := "Hello杭州"
	for _, v := range s {
		if unicode.Is(unicode.Scripts["Han"], v) {
			fmt.Printf("%c", v)
		}
	}
}

switch和goto

	// 此时w的作用域只有switch内部
	switch w := 1; w {
	case 1:
		fmt.Println(w)
	case 2:
		fmt.Println(123)
	}
	
	// switch变种
	w := 1
	switch {
	case w > 0 && w < 2:
		fmt.Println("123")
	case w > 2 && w < 4:
		fmt.Println("456")
	}

	// goto 跳转到指定table处
	for i := 1; i <= 10; i++ {
		for j := 1; j <= i; j++ {
			if j+i == 10 {
				goto XX
			}
			fmt.Printf("%v*%v=%v\t", i, j, i*j)
		}
		fmt.Println()
	}

XX:
	fmt.Println("over")

作业

package main

import (
	"fmt"
	"unicode"
)

func main() {
	// 打印乘法表
	for x := 1; x <= 9; x++ {
		for y := 1; y <= x; y++ {

			fmt.Printf("%d*%d=%d ", x, y, (x * y))
		}
		fmt.Println()
	}

	// 编写代码分别定义一个整型、浮点型、布尔型、字符串型变量,使用fmt.Printf()搭配%T分别打印出上述变量的值和类型。
	a := 1
	b := float32(1)
	c := true
	d := "字符串"
	fmt.Printf("%T %b\n", a, a)
	fmt.Printf("%T %v\n", b, b)
	fmt.Printf("%T %v\n", c, c)
	fmt.Printf("%T %v\n", d, d)

	//编写代码统计出字符串"Hello杭州"中汉字的数量。
	s := "Hello杭州"
	count := 0
	for _, v := range s {
		if unicode.Is(unicode.Scripts["Han"], v) {
			count++
		}
	}
	fmt.Printf("\"%v\"字符串中汉字的数量是%v", s, count)
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值