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

Fscanf 및 C와 같은 필드 생략

WBOY
풀어 주다: 2024-02-12 16:18:05
앞으로
1171명이 탐색했습니다.

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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿