go || 输入输出

输入输出

1. fmt 是 go 语言中的格式化输入输出库,其中主要分为两个部分,分别是输出部分和输入部分。

输入部分

func main() {
	//输入 fmt.Scan  fmt.Scanf  fmt.Scanln
	var a int
	var b string
	fmt.Println("请输入a和b:")
	//&a 获取a的内存地址
	//接受用户的输入,空格分割,分别传给a和b
	fmt.Scan(&a, &b)
	fmt.Println("a is :", a, ", b is :", b)

	//严格按照指定的形式输入
	fmt.Scanf("a=%d,b=%s", &a, &b)
	fmt.Println("a is :", a, ", b is :", b)

	//以换行符来结束这次输入
	fmt.Scanln(&a, &b)
	fmt.Println("a is :", a, "b is :", b)

    print("test print") //错误输出
	fmt.Println("test fmt println")
}

输出部分

func main() {
	//输出
	// fmt.Print  fmt.Println  fmt.Printf

	//原样输出,不换行
	fmt.Print("hello")
	fmt.Print("world")

	//自动添加换行符和空格分隔符
	fmt.Println("hello", "sctl")
	fmt.Println("world")

	//格式化输出
	name := "sctl"
	fmt.Printf("hello, %s", name)
}

2. 使用bufio进行输入

package main

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

func main() {
    // 标准输入、标准输出、标准错误输出
	/*
		计算机组成 = 计算 + 存储 + io(input output)
	*/

	reader := bufio.NewReader(os.Stdin)

	//直到读到换行符结束,返回的结果有两个
	line, e := reader.ReadString('\n')
	fmt.Println("line:", line)
	fmt.Println("error:", e)

	//使用匿名变量接收, _ 接收变量,不使用
	line, _ := reader.ReadString('\n')
	fmt.Println("line:", line)
}

猜你喜欢

转载自blog.csdn.net/qq_60271706/article/details/133923057