fmt.Sscanf 함수를 사용하여 문자열에서 형식화된 데이터를 읽고 이를 변수에 할당합니다.
Go 언어에서 fmt 패키지의 Sscanf 함수를 사용하면 매우 편리하게 문자열에서 형식화된 데이터를 읽고 이를 변수에 할당할 수 있습니다. 변수에 할당합니다. 이 함수는 문자열 내의 데이터를 구문 분석하고, 데이터를 지정된 형식에 따라 해당 유형으로 변환하고, 변환된 결과를 지정된 변수에 저장할 수 있습니다.
fmt.Sscanf 함수의 구문은 다음과 같습니다.
func Sscanf(str string, format string, a...interface{}) (n int, err error)
여기서 str은 구문 분석할 문자열입니다. 형식은 지정된 형식에서 a는 할당할 변수 목록이고, n은 성공적으로 할당된 변수의 수, err은 오류 설명입니다.
아래에서는 fmt.Sscanf 함수에 대한 이해를 심화하기 위해 몇 가지 코드 예제를 사용합니다.
예제 1: 문자열의 정수 구문 분석
package main import ( "fmt" ) func main() { str := "I have 10 apples" var apples int n, err := fmt.Sscanf(str, "I have %d apples", &apples) if err != nil { fmt.Println("解析错误:", err) return } fmt.Println("解析成功,变量apples的值为:", apples) fmt.Println("成功赋值的变量个数:", n) }
출력 결과:
구문 분석에 성공했습니다. apples 변수의 값은 10
성공적으로 할당된 변수 수: 1
위의 예에서는 fmt.Sscanf를 전달합니다. 함수 "I have 10 apples"라는 문자열을 구문 분석하고 정수 10을 추출한 다음 이를 apples 변수에 할당합니다.
예 2: 문자열의 여러 값을 구문 분석합니다
package main import ( "fmt" ) func main() { str := "I am 20 years old" var name string var age int n, err := fmt.Sscanf(str, "I am %s years old", &name, &age) if err != nil { fmt.Println("解析错误:", err) return } fmt.Println("解析成功,变量name的值为:", name) fmt.Println("解析成功,变量age的值为:", age) fmt.Println("成功赋值的变量个数:", n) }
출력 결과:
구문 분석에 성공했습니다. 변수 이름 값은 20
구문 분석에 성공했습니다. age 변수 값은 0
성공적으로 할당된 변수의 수입니다. : 1
예제 2에서는 "I am 20 age"라는 문자열에서 "name"과 "age" 값을 구문 분석합니다. 형식 문자열에 두 개의 변수를 지정했지만 "20"은 정수형의 "age"가 아닌 문자열 형식의 "name"으로 해석되므로 "age"의 값은 0입니다.
요약:
fmt.Sscanf 함수를 통해 문자열에서 지정된 형식의 데이터를 쉽게 구문 분석하고 해당 변수에 할당할 수 있습니다. 이는 구성 파일 및 로그 파일과 같이 문자열 형식 지정이 필요한 시나리오에서 매우 유용합니다. 그러나 구문 분석 오류를 방지하려면 구문 분석된 데이터 유형이 변수 유형과 일치하는지 확인해야 합니다.
위 내용은 fmt.Sscanf 함수를 사용하여 문자열에서 형식화된 데이터를 읽고 이를 변수에 할당합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!