码迷,mamicode.com
首页 > 其他好文 > 详细

go pkg

时间:2015-10-14 14:24:45      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

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()替代

go pkg

标签:

原文地址:http://www.cnblogs.com/helww/p/4877213.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!