요일 문자열을 time.Weekday로 변환
Go에서 time 패키지는 변환하는 내장 함수를 제공하지 않습니다. 요일을 time.Weekday 값으로 나타내는 문자열입니다. 따라서 일반적인 해결책은 이 변환을 수행하는 사용자 정의 함수를 만드는 것입니다.
한 가지 접근 방식은 배열을 사용하여 요일 이름과 해당 시간.Weekday 값을 저장하는 것입니다. 그러나 더 효율적이고 관용적인 해결책은 지도를 활용하는 것입니다.
변환을 위해 지도 사용:
지도는 배열에 비해 더 빠르고 직접적인 조회를 제공합니다. 다음은 이 접근 방식을 보여주는 스니펫입니다.
<code class="go">var daysOfWeek = map[string]time.Weekday{ "Sunday": time.Sunday, "Monday": time.Monday, // ... and so on for all weekdays } func parseWeekday(v string) (time.Weekday, error) { if d, ok := daysOfWeek[v]; ok { return d, nil } return time.Sunday, fmt.Errorf("invalid weekday '%s'", v) }</code>
맵을 안전하게 초기화:
올바른 초기화를 보장하려면 for 루프를 사용하여 daysOfWeek 맵을 채울 수 있습니다.
<code class="go">var daysOfWeek = map[string]time.Weekday{} func init() { for d := time.Sunday; d <= time.Saturday; d++ { daysOfWeek[d.String()] = d } }</code>
전환 확장:
지도 기반 솔루션을 사용하면 쉽게 확장할 수 있습니다. 예를 들어 3글자의 짧은 요일 이름을 유효한 입력으로 추가할 수 있습니다.
<code class="go">func init() { // ... existing initialization code for d := time.Sunday; d <= time.Saturday; d++ { name := d.String() daysOfWeek[name] = d daysOfWeek[name[:3]] = d } }</code>
결론:
Go에서 요일 문자열 변환을 위해 맵을 사용하는 것은 둘 다입니다. 효율적이고 유연합니다. 대체 입력 형식을 수용하기 위한 쉬운 조회, 안전한 초기화 및 간단한 확장이 가능합니다.
위 내용은 Go에서 요일 문자열을 `time.Weekday`로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!