5.1 标准输入 NewScanner

package main

import (
	"fmt"
)

func main() {

	var name string
	fmt.Println("What is your name?")
	fmt.Scanf("%s\n", &name)

	var age int
	fmt.Println("What is your age?")
	fmt.Scanf("%d\n", &age)

	fmt.Printf("Hello %s, your age is %d\n", name, age)

}

/*
What is your name?
dsf
What is your age?
11
Hello dsf, your age is 11
*/


package main

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

func main() {

	// The Scanner is able to
	// scan input by lines
	sc := bufio.NewScanner(os.Stdin)
	for sc.Scan() {
		txt := sc.Text()
		fmt.Printf("Echo: %s\n", txt)
	}

}

/*
hh
Echo: hh
hh
Echo: hh
jhbhj
Echo: jhbhj

一直捕捉屏幕输入 然后输出
*/


package main

import (
	"fmt"
	"os"
)

func main() {

	for {
		data := make([]byte, 8)
		n, err := os.Stdin.Read(data)
		if err == nil && n > 0 {
			process(data)
		} else {
			break
		}
	}

}

func process(data []byte) {
	fmt.Printf("Received: %X 	%s\n", data, string(data))
}

/*
h
Received: 680A000000000000 	h
������
jj
Received: 6A6A0A0000000000 	jj
�����
klk里面了昆明
Received: 6B6C6BE9878CE99D 	klk里�
Received: A2E4BA86E69886E6 	�了昆�
Received: 988E0A0000000000 	��
�����
可能离开
Received: E58FAFE883BDE7A6 	可能�
Received: BBE5BC800A000000 	�开
���
jk
Received: 6A6B0A0000000000 	jk
�����
mm
Received: 6D6D0A0000000000 	mm
�����
*/

posted on 2018-03-22 00:43  cucy_to  阅读(138)  评论(0编辑  收藏  举报

导航