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

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

Barbara Streisand
Barbara Streisand원래의
2024-10-30 20:21:03511검색

How to Convert a Day of Week String to a time.Weekday Value in Go?

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

Go에서는 요일을 나타내는 문자열을 변환해야 할 수도 있습니다. 요일을 해당 시간으로 바꿉니다.주중 값.

한 가지 접근 방식은 다음과 같은 배열을 사용하는 것입니다.

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

func parseWeekday(v string) (time.Weekday, error) {
    for i := range daysOfWeek {
        if daysOfWeek[i] == v {
            return time.Weekday(i), nil
        }
    }

    return time.Sunday, fmt.Errorf("invalid weekday '%s'", v)
}</code>

맵을 사용한 대체 접근 방식

효율성과 조회 용이성을 높이기 위해 지도를 사용하는 것이 더 관용적입니다.

<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">for d := time.Sunday; d <= time.Saturday; d++ {
    name := d.String()
    daysOfWeek[name] = d
    daysOfWeek[name[:3]] = d
}</code>

이렇게 하면 전체 및 축약된 평일 문자열(예: "Monday" 및 "Mon")을 모두 구문 분석할 수 있습니다.

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

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