Go 언어는 구문이 간단하고 이해하기 쉬우며 학습 비용이 상대적으로 저렴하여 프로그래머들 사이에서 매우 인기가 있는 프로그래밍 언어입니다. Go 언어를 사용할 때 일부 데이터를 입력해야 하는 경우가 많습니다. 그렇다면 Go 언어는 입력을 어떻게 구현합니까? 다음으로 이번 글에서는 golang에서 입력하는 방법을 자세히 소개하겠습니다.
1. 입력 함수
Go 언어에서 입력을 구현하는 함수는 fmt.Scan() 함수입니다. 이 함수의 기능은 표준 입력으로부터 데이터를 읽는 것이며, 일반적으로 입력 데이터가 상대적으로 작을 때 사용됩니다. 다음은 이 함수의 기본 구문입니다.
fmt.Scan(&input)
이 구문에서 &input은 입력 변수에 대한 포인터입니다. 입력 데이터를 읽으면 입력 데이터가 입력 변수에 저장됩니다. 입력 변수의 유형은 입력 데이터의 유형과 일치해야 한다는 점에 유의하세요. 예를 들어, 정수를 입력해야 하는 경우 입력 변수는 int 유형이어야 합니다.
2. 다중 입력 기능
여러 데이터를 입력해야 하는 경우 fmt.Scan() 함수의 여러 매개변수를 사용하면 됩니다. 예를 들어 두 개의 정수를 입력해야 하는 경우 다음 구문을 사용할 수 있습니다.
fmt.Scan(&a, &b)
이 구문에서 &a와 &b는 각각 a와 b 변수에 대한 포인터입니다. 입력 데이터를 읽을 때 첫 번째 데이터는 a 변수에 저장되고 두 번째 데이터는 b 변수에 저장됩니다.
입력 데이터는 공백, 탭, 캐리지 리턴 등의 문자로 구분되어야 한다는 점에 유의하세요. 입력 데이터 사이에 구분 기호가 없는 경우 fmt.Scanf() 함수를 사용해야 합니다.
3.fmt.Scanf() 함수
fmt.Scanf() 함수는 형식화된 입력 데이터를 읽는 데 사용됩니다. 데이터를 읽을 때 데이터 유형과 형식 문자열을 지정해야 한다는 점을 제외하면 fmt.Scan() 함수와 유사합니다. 이 함수의 기본 구문은 다음과 같습니다.
fmt.Scanf(format, &input)
그 중 format은 형식 문자열을 나타내고, input은 입력 데이터의 변수를 나타냅니다. 형식 문자열에 사용되는 형식 문자는 입력 데이터 유형과 일치해야 한다는 점에 유의해야 합니다. 예를 들어 정수를 입력해야 하는 경우 형식 문자열에 "%d" 형식 문자를 사용합니다.
여러 데이터를 입력해야 하는 경우 형식 문자열에 여러 형식 문자를 지정할 수 있습니다. 예를 들어 두 개의 정수를 입력해야 하는 경우 다음 구문을 사용할 수 있습니다.
fmt.Scanf("%d %d", &a, &b)
4. bufio 패키지
Go 언어에서는 효율적인 입력 작업을 구현하기 위해 bufio 패키지도 제공합니다. bufio 패키지는 bufio.Scanner와 bufio.NewReader의 두 가지 유형을 제공합니다. 데이터를 한 줄씩 읽으려면 bufio.Scanner 유형을 사용하고, 임의 길이의 데이터 스트림을 읽으려면 bufio.NewReader 유형을 사용하십시오.
다음은 bufio 패키지를 통해 데이터를 한 줄씩 읽는 샘플 코드입니다.
import ( "bufio" "os" ) func main() { scanner := bufio.NewScanner(os.Stdin) for scanner.Scan() { input := scanner.Text() // 处理输入数据 } }
위 코드에서 bufio.NewScanner 함수는 os.Stdin에서 데이터를 읽을 수 있는 bufio.Scanner 유형의 개체를 생성합니다. scanner.Scan() 함수를 통해 루프에서 입력 데이터를 읽고, 매번 한 줄의 데이터를 읽습니다. 읽은 데이터는 입력 변수에 저장되며 그에 따라 처리될 수 있습니다.
간단히 말하면, 위의 소개를 통해 독자들은 golang에서의 입력 방법을 이해했다고 믿습니다. 실제 개발에서는 다양한 입력 시나리오에 따라 다양한 입력 방법이 필요할 수 있으므로 개발자는 특정 상황에 따라 적합한 입력 방법을 선택해야 합니다.
위 내용은 golang에 입력하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!