>  기사  >  백엔드 개발  >  Go에서 평일 문자열을 time.Weekday로 변환하는 방법은 무엇입니까?

Go에서 평일 문자열을 time.Weekday로 변환하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-31 10:26:02676검색

How to Convert a Weekday String to time.Weekday in Go?

요일 문자열을 시간으로 변환합니다.Weekday

Go에서는 요일 문자열을 시간으로 변환합니다. Weekday 값은 직접 지원되지 않습니다. 내장된 시간 패키지를 통해. 이 문제를 해결하기 위해 사용자는 종종 변환을 위한 사용자 정의 함수를 구현합니다.

배열을 사용한 사용자 정의 함수

한 가지 접근 방식은 요일 문자열을 시간에 매핑하는 배열을 만드는 것입니다. 평일 값. 그러나 이 방법은 해당 요일을 찾는 데 선형 검색이 필요하기 때문에 비효율적일 수 있습니다.

지도를 활용한 기능 개선

지도를 사용하는 것이 더 효율적인 방법입니다. 배열 대신. 이를 통해 더 빠른 조회와 더 간단한 구현이 가능합니다. 요일 문자열과 해당 시간의 키-값 쌍으로 맵을 초기화함으로써 함수는 직접 조회를 수행하여 원하는 시간.주중 값을 얻을 수 있습니다.

구현 예:

<code class="go">var daysOfWeek = map[string]time.Weekday{
    "Sunday":    time.Sunday,
    "Monday":    time.Monday,
    "Tuesday":   time.Tuesday,
    "Wednesday": time.Wednesday,
    "Thursday":  time.Thursday,
    "Friday":    time.Friday,
    "Saturday":  time.Saturday,
}

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>

테스트:

<code class="go">fmt.Println(parseWeekday("Monday")) // Output: Monday <nil>
fmt.Println(parseWeekday("Friday")) // Output: Friday <nil>
fmt.Println(parseWeekday("Invalid")) // Output: Sunday invalid weekday 'Invalid'</code>

짧은 이름 구문 분석 확장

추가로 지도 전체 이름과 짧은 이름을 모두 사용하여 지도를 초기화하면 짧은 요일 이름(예: 월요일의 경우 "Mon")을 구문 분석하도록 기반 접근 방식을 확장할 수 있습니다.

결론

주중 문자열을 시간으로 변환하기 위해 지도 기반 접근 방식을 사용합니다. 주중 값은 Golang에서 권장되는 관용적 기술입니다. 전체 이름과 짧은 요일 이름을 모두 처리할 수 있는 더 빠른 조회와 유연성을 제공합니다.

위 내용은 Go에서 평일 문자열을 time.Weekday로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.