Golang bufio输入

Golang 输入

package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
	"strings"
)

func main() {
	// input a int num
	var a int
	fmt.Scan(&a)
	fmt.Println(a)
	var b, c int
	fmt.Scan(&b, &c)
	fmt.Println(b, c)
	// input slice int string
	// init a reader
	reader := bufio.NewReader(os.Stdin)
	// 
	res, _ := reader.ReadSlice('\n')
	fmt.Println(res)
	fmt.Println(string(res))
	// how to input int slice 
	res, _ := reader.ReadString('\n')
	fmt.Println(res)
	fmt.Printf("%T", res)
	arrs := intnums(res)
	fmt.Println(arrs)
	fmt.Printf("%T", arrs)
	// how to input string slice 
	res, _ := reader.ReadString('\n')
	fmt.Println(res)
	fmt.Printf("%T", res)
	arrs := sarr(res)
	fmt.Println(arrs)
	fmt.Printf("%T", arrs)

}

func intnums(s string) (res []int) {
	for _, ss := range strings.Fields(s) {
		num, _ := strconv.Atoi(ss)
		res = append(res, num)
	}
	return
}

func sarr(s string) (res []string) {
	for _, ss := range strings.Fields(s) {
		res = append(res, ss)
	}
	return
}

posted @   Notomato  阅读(267)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示