>백엔드 개발 >Golang >Fscanf 및 C와 같은 필드 생략

Fscanf 및 C와 같은 필드 생략

WBOY
WBOY앞으로
2024-02-12 16:18:051174검색

Fscanf 并像 C 中那样省略字段

질문 내용

C처럼 필드%*s를 생략할 수 있나요?

var pid int
fmt.Fscanf(r, "%*s %d", &pid)

해결 방법

사실 Go에서는 이 작업을 수행할 수 없습니다(적어도 Go 1.21.0에서는).

소스 코드 표시:

  • 형식 문자열에는 생략된 필드의 동사가 없습니다(C 언어의 %*s):实际上,字符串的动词始终是 单个字符 (% s%v%q%X%X처럼). 실제로 문자열의 동사는 항상 단일 문자
  • (% s, %v, %q, %X 또는 %X)
  • Fscanf 方法 迭代参数a 中的 Fscanf 数组(r io.Reader,格式字符串,a ...any))。因此,您必须aFscanf
  • 메서드반복매개변수
(a의 Fscanf 배열(ri io.Reader, 형식 문자열, a...any)). 따라서 해당 값에 관심이 없더라도 a에 매개변수를 정의해야 합니다.

변수를 정의하지 않으려면 다음을 사용할 수 있습니다.

으아악

다른 대안io.ReadAll

특정 사례의 경우 리더의 내용을 구문 분석하려면 먼저 리더를 문자열(예:

)로 읽을 수 있습니다. strings.Split CB835C294C06824721603abd255bd78a

그런 다음
    메서드나 정규 표현식을 사용하세요. 예:
  1. strings.Split
  2. 함께
  1. 으아악
정규식 사용:

으아악 🎜다른 방법이 있을 수도 있지만 이것만으로도 충분합니다. 도움이 되길 바랍니다. 🎜

위 내용은 Fscanf 및 C와 같은 필드 생략의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제