第二章 基础数据类型、流程控制、运算符

基础数据类型列表

  1. 整型:
    • int64
    • int32
    • uint64
    • uint32
    • 默认int(32位还是64位取决于平台)
  2. 浮点型:
    • float32
    • float64
    • go语言中默认用的小数都是64位
    • go语言中没有float的默认类型
  3. 布尔型:
    • 用bool进行声明 只有true和false
    • 默认为false
    • go语言中不允许将整型强制转换为布尔型
    • 布尔类型无法参与运算也无法与其他类型进行转换
  4. 字符串型:
    • Go语言里的字符串的内部实现用UTF-8,支持中文
    • go语言中字符串必须用双引号包裹的
    • go语言中的字符是用单引号包裹的
    • 字节:1个字节=8bit
    • 1个字符'b'=1字节
    • 1个utf-8编码的汉字一般占3个字节

fmt占位符

    // 相应值的默认格式
    fmt.Printf("%T\n",n)
    // 相应值的类型
    fmt.Printf("%v\n",n)
    // 二进制表示
    fmt.Printf("%b\n",n)
    // 十进制表示
    fmt.Printf("%d\n",n)
    // 八进制表示
    fmt.Printf("%o\n",n)
    // 十六进制表示,字母形式为小写 a-f
    fmt.Printf("%x\n",n)
    // 出字符串表示(string类型或[]byte)
    fmt.Printf("%s\n",n)

if else

    if true {

    } else if true {

    } else {

    }

for

    // 基本格式
	for i := 0; i < 10; i++ {
		fmt.Println(i)
	}

	// 变种1
	i := 0
	for ; i < 10; i++ {
		fmt.Println(i)
	}

	// 变种2
	i := 5
	for i < 10 {
		fmt.Println(i)
		i++
	}

    // 无限循环
	for {
		fmt.Println("b")
	}

    // 输出索引和值 
    s := "good"
	for i, v := range s {
		fmt.Printf("%d %c\n", i, v)
	}

switch

    // 标准用法
    var n = 2
	switch n {
	case 1:
		fmt.Printf(" %d\n", n)
		break
	case 2:
		fmt.Printf(" %d\n", n)
		break
	case 3:
		fmt.Printf(" %d\n", n)
		break
	default:
		fmt.Printf(" %d\n", n)
	}

    // 条件判断
    var n = 2
	switch n {
	case n < 3:
		fmt.Printf(" %d\n", n)
		break
	case n < 2:
		fmt.Printf(" %d\n", n)
		break
	case n < 1:
		fmt.Printf(" %d\n", n)
		break
	default:
		fmt.Printf(" %d\n", n)
	}

运算符


本文章使用limfx的vscode插件快速发布