fmt
Scanln用来读取输入数据
示例:
package main import ( "fmt" "os" "time" ) func main() { out := os.Stdout var d0, d1, d2, d3 string for { //要读取完整的一行数据, 空格分隔的每个串被一次写入到参数中, 第一个返回值是读取的参数数目,第二个返回值是错误信息 nd, err := fmt.Scanln(&d0, &d1, &d2, &d3) if err == nil && nd != 0 { fmt.Fprintf(out, "d0:%s d1:%s d2:%s d3:%s", d0, d1, d2, d3) fmt.Fprintf(out, "len:%d\n", len(d3)) fmt.Fprintf(out, "num:%d\n", nd) } else { fmt.Fprintf(out, "num:%d err:%v\n", nd, err) } time.Sleep(time.Second) } }
输出:
#1,如果输入的参数个数为3个a aa aaa输出: nd:3 err:unexpected newline #2,如果输入的参数个数为4个a aa aaa aaaa输出: d0:a d1:aa d2:aaa d3:aaaalen:4 num:4 #3,如果输入的参数个数为5个a aa aaa aaaa aaaaa 输出: num:4 err:expected newline num:1 err:unexpected newline
fmt.Fprintf(out)可以用fmt.Println()替代
时间: 2024-11-06 15:19:31