# Golang 从标准输入获取内容 **Published by:** [Robin](https://paragraph.com/@robin-8/) **Published on:** 2023-05-04 **URL:** https://paragraph.com/@robin-8/golang-8 ## Content fmt.Scan()函数:该函数从标准输入中读取用户输入,以空格分隔,将读取的内容存储在传递给函数的参数中。例如:package main import "fmt" func main() { var name string fmt.Print("请输入您的名字:") fmt.Scan(&name) fmt.Printf("您好,%s!", name) } bufio包:该包提供了一个bufio.Reader类型,它可以从标准输入中读取用户输入。例如:package main import ( "bufio" "fmt" "os" ) func main() { reader := bufio.NewReader(os.Stdin) fmt.Print("请输入您的名字:") name, _ := reader.ReadString('\n') fmt.Printf("您好,%s!", name) } 以上两种方式都可以从标准输入中获取内容。第一种方式使用起来比较简单,但是只能读取以空格分隔的内容;第二种方式可以读取任意长度的内容,但是使用起来稍微复杂一些。 使用flag包来解析命令行参数。flag包提供了很多函数来解析命令行参数,其中包括从标准输入读取内容的函数。例如:package main import ( "flag" "fmt" ) func main() { var name string flag.StringVar(&name, "name", "", "请输入您的名字") flag.Parse() fmt.Printf("您好,%s!", name) } ## Publication Information - [Robin](https://paragraph.com/@robin-8/): Publication homepage - [All Posts](https://paragraph.com/@robin-8/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@robin-8): Subscribe to updates