Go基础_1_9 输入和输出

Tutorial: Go初级 Category: Go Published: 2026-04-07 13:58:26 Views: 21 Likes: 0 Comments: 0
package main

import (
    "bufio"
    "fmt"
    "os"
)

func main() {
    /*
        输入和输出:
            fmt包:输入,输出

            输出:
                Print() //打印
                Printf() //格式化打印
                Println() //打印之后换行

            格式化打印占位符:
                %v,原样输出
                %T,打印类型
                %t,bool类型
                %s,字符串
                %f,浮点
                %d,10进制的整数
                %b,2进制的整数
                %o,8进制
                %x,%X,16进制
                    %x:0-9,a-f
                    %X:0-9,A-F
                %c,打印字符
                %p,打印地址
                。。。

            输入:
                Scanln()
                    Scanln is similar to Scan, but stops scanning at a newline and after the final item there must be a newline or EOF.
                Scanf()

            bufio包

    */

    // a := 100           // int
    // b := 3.14          // float64
    // c := true          // bool
    // d := "Hello World" // string
    // e := `Ruby`        // string
    // f := 'A'
    // fmt.Printf("%T,%b\n", a, a)       // int,1100100
    // fmt.Printf("%T,%f\n", b, b)       // float64,3.140000
    // fmt.Printf("%T,%t\n", c, c)       // bool,true
    // fmt.Printf("%T,%s\n", d, d)       // string,Hello World
    // fmt.Printf("%T,%s\n", e, e)       // string,Ruby
    // fmt.Printf("%T,%d,%c\n", f, f, f) // int32,65,A

    // var x int
    // var y float64
    // fmt.Println("请输入一个整数,一个浮点类型:")
    // fmt.Scanln(&x, &y)                    // 读取键盘的输入,通过操作地址,赋值给x和y   阻塞式
    // fmt.Printf("x的数值:%d,y的数值:%f\n", x, y) // x的数值:10,y的数值:10.000000

    // fmt.Scanf("%d,%f", &x, &y)
    // fmt.Printf("x:%d,y:%f\n", x, y) // x:1,y:10.000000 y 没有被改变

    fmt.Println("请输入一个字符串:")
    reader := bufio.NewReader(os.Stdin)
    s1, _ := reader.ReadString('\n')
    fmt.Println("读到的数据:", s1) // 读到的数据: aaa bbb ccc     ddd

}