Go 언어에서 스캔 방법의 용도는 무엇입니까?
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
三个函数,可以在程序运行过程中从标准输入获取用户的输入。
fmt.Scan
语法
func Scan(a ...interface{}) (n int, err error)
- Scan从标准输入扫描文本,读取由空白符分隔的值保存到传递给本函数的参数中,换行符视为空白符。
- 本函数返回成功扫描的数据个数和遇到的任何错误。如果读取的数据个数比提供的参数少,会返回一个错误报告原因。
代码示例
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
从标准输入中扫描用户输入的数据,将以空白符分隔的数据分别存入指定的参数。
fmt.Scanf
语法
func Scanf(format string, a ...interface{}) (n int, err error)
- Scanf从标准输入扫描文本,根据format参数指定的格式去读取由空白符分隔的值保存到传递给本函数的参数中。
- 本函数返回成功扫描的数据个数和遇到的任何错误。
代码示例
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
fmt.Scanln
语法
func Scanln(a ...interface{}) (n int, err error)
- Scanln类似Scan,它在遇到换行时才停止扫描。最后一个数据后面必须有换行或者到达结束位置。
- 本函数返回成功扫描的数据个数和遇到的任何错误。
代码示例
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
fmt.Scan
구문
rrreee- Scan은 표준 입력에서 텍스트를 스캔하고 공백에서 읽어옵니다. - 구분된 값은 이 함수에 전달된 인수에 저장되며 줄 바꿈은 공백 문자로 처리됩니다.
- 이 함수는 성공적으로 스캔된 데이터 수와 발생한 오류 수를 반환합니다. 읽은 데이터 수가 제공된 매개변수보다 적으면 오류 보고 이유가 반환됩니다.
코드 예
rrreee위 코드를 컴파일하고 터미널에서 실행해보세요.Xiao Ming
, 18
및 false
는 공백으로 구분됩니다. rrreeefmt.Scan
은 표준 입력에서 사용자가 입력한 데이터를 스캔하고 공백 문자로 구분된 데이터를 지정된 매개변수에 저장합니다. 🎜🎜fmt.Scanf🎜
구문
rrreee- Scanf는 표준 입력에서 텍스트를 스캔합니다. format 매개변수로 지정된 형식은 공백으로 구분된 값을 읽어 이 함수에 전달된 매개변수에 저장합니다.
- 이 함수는 성공적으로 스캔된 데이터 수와 발생한 오류 수를 반환합니다.
코드 예
rrreee🎜위 코드를 컴파일하고 터미널에서 실행해보세요. 터미널에 Xiao Ming,를 입력하세요. 지정된 형식 18
및 false에 따라 순서를 지정합니다.
🎜rrreee🎜fmt.Scanf
는 단순히 공백을 입력 데이터의 구분 기호로 사용하는 fmt.Scanf
와는 다릅니다. > 입력 데이터에는 특정 입력 내용 형식이 지정됩니다. 해당 형식에 따라 입력된 데이터만 스캔되어 해당 변수에 저장됩니다. 🎜🎜예를 들어 이전 예와 같이 여전히 공백으로 구분된 형식으로 데이터를 입력하는 경우 fmt.Scanf
는 입력 데이터를 올바르게 스캔할 수 없습니다. 🎜rrreee🎜fmt.Scanln🎜
구문
rrreee- Scanln은 Scan과 유사하며, 개행. 마지막 데이터 뒤에는 줄 바꿈이 있어야 하며, 그렇지 않으면 끝 위치에 도달해야 합니다.
- 이 함수는 성공적으로 스캔된 데이터 수와 발생한 오류 수를 반환합니다.
코드 예
rrreee🎜위 코드를 컴파일하고 터미널에서 실행해 보세요.Xiao Ming
을 입력하세요. code>18 및 false
는 공백으로 구분됩니다. 🎜rrreee🎜fmt.Scanln
은 캐리지 리턴이 발생하면 스캔을 종료합니다. 이 방법이 더 일반적으로 사용됩니다. 🎜🎜추천 학습: 🎜Golang 튜토리얼🎜🎜위 내용은 Go 언어에서 스캔 방법의 용도는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Go Language의 부동 소수점 번호 작동에 사용되는 라이브러리는 정확도를 보장하는 방법을 소개합니다.

Go Crawler Colly의 대기열 스레딩 문제는 Colly Crawler 라이브러리를 GO 언어로 사용하는 문제를 탐구합니다. � ...

GO의 어떤 라이브러리가 대기업이나 잘 알려진 오픈 소스 프로젝트에서 개발 했습니까? GO에 프로그래밍 할 때 개발자는 종종 몇 가지 일반적인 요구를 만납니다.

GO 언어에서 구조를 정의하는 두 가지 방법 : VAR과 유형 키워드의 차이. 구조를 정의 할 때 Go Language는 종종 두 가지 다른 글쓰기 방법을 본다 : 첫째 ...

Go Language에서 메시지 대기열을 구현하기 위해 Redisstream을 사용하는 문제는 Go Language와 Redis를 사용하는 것입니다 ...

Go Language의 문자열 인쇄의 차이 : println 및 String () 함수 사용 효과의 차이가 진행 중입니다 ...

Go Pointer Syntax 및 Viper Library 사용의 문제 해결 GO 언어로 프로그래밍 할 때 특히 포인터의 구문 및 사용법을 이해하는 것이 중요합니다.

GO의지도 반복이 왜 모든 값이 마지막 요소가되게합니까? Go Language에서 인터뷰 질문에 직면했을 때, 당신은 종종지도를 만납니다 ...
