go 언어에서는 Scan() 메서드를 사용하여 표준 입력 "os.Stdin"에서 텍스트를 읽습니다. 즉, 터미널에서 데이터를 가져옵니다. 이 메소드는 성공적으로 읽은 데이터 수와 발생한 오류를 반환합니다. 읽은 데이터 수가 제공된 매개변수보다 적으면 오류 보고 이유가 반환됩니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, GO 버전 1.18, Dell G3 컴퓨터.
Scan 시리즈
Go 언어 fmt
패키지에는 fmt.Scan
, fmt.Scanf
, fmt.
에는 프로그램 실행 중에 표준 입력에서 사용자 입력을 얻을 수 있는 세 가지 기능이 있습니다. fmt
包下有fmt.Scan
、fmt.Scanf
、fmt.Scanln
三个函数,可以在程序运行过程中从标准输入获取用户的输入。
func Scan(a ...interface{}) (n int, err error)
func main() { var ( name string age int married bool ) fmt.Scan(&name, &age, &married) fmt.Printf("扫描结果 name:%s age:%d married:%t \n", name, age, married) }
将上面的代码编译后在终端执行,在终端依次输入小明
、18
和false
使用空格分隔。
$ ./scan_demo 小明 18 false 扫描结果 name:小明 age:18 married:false
fmt.Scan
从标准输入中扫描用户输入的数据,将以空白符分隔的数据分别存入指定的参数。
func Scanf(format string, a ...interface{}) (n int, err error)
func main() { var ( name string age int married bool ) fmt.Scanf("1:%s 2:%d 3:%t", &name, &age, &married) fmt.Printf("扫描结果 name:%s age:%d married:%t \n", name, age, married) }
将上面的代码编译后在终端执行,在终端按照指定的格式依次输入小明、18
和false。
$ ./scan_demo 1:小明 2:18 3:false 扫描结果 name:小明 age:18 married:false
fmt.Scanf
不同于fmt.Scan
简单的以空格作为输入数据的分隔符,fmt.Scanf
为输入数据指定了具体的输入内容格式,只有按照格式输入数据才会被扫描并存入对应变量。
例如,我们还是按照上个示例中以空格分隔的方式输入,fmt.Scanf
就不能正确扫描到输入的数据。
$ ./scan_demo 小明 18 false 扫描结果 name: age:0 married:false
func Scanln(a ...interface{}) (n int, err error)
func main() { var ( name string age int married bool ) fmt.Scanln(&name, &age, &married) fmt.Printf("扫描结果 name:%s age:%d married:%t \n", name, age, married) }
将上面的代码编译后在终端执行,在终端依次输入小明
、18
和false
使用空格分隔。
$ ./scan_demo 小明 18 false 扫描结果 name:小明 age:18 married:false
fmt.Scanln
Xiao Ming
, 18
및 false
는 공백으로 구분됩니다. rrreeefmt.Scan
은 표준 입력에서 사용자가 입력한 데이터를 스캔하고 공백 문자로 구분된 데이터를 지정된 매개변수에 저장합니다. 🎜를 입력하세요. 지정된 형식 18
및 false에 따라 순서를 지정합니다.
🎜rrreee🎜fmt.Scanf
는 단순히 공백을 입력 데이터의 구분 기호로 사용하는 fmt.Scanf
와는 다릅니다. > 입력 데이터에는 특정 입력 내용 형식이 지정됩니다. 해당 형식에 따라 입력된 데이터만 스캔되어 해당 변수에 저장됩니다. 🎜🎜예를 들어 이전 예와 같이 여전히 공백으로 구분된 형식으로 데이터를 입력하는 경우 fmt.Scanf
는 입력 데이터를 올바르게 스캔할 수 없습니다. 🎜rrreeeXiao Ming
을 입력하세요. code>18 및 false
는 공백으로 구분됩니다. 🎜rrreee🎜fmt.Scanln
은 캐리지 리턴이 발생하면 스캔을 종료합니다. 이 방법이 더 일반적으로 사용됩니다. 🎜🎜추천 학습: 🎜Golang 튜토리얼🎜🎜위 내용은 Go 언어에서 스캔 방법의 용도는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!