Go语言获取指定年份生肖

根据给定年份,返回生肖字符串,公元前使用负值即可。(比如2022年,调用使用GetShengXiao(2022),公元前21年,调用使用GetShengXiao(-21))。


// 获取生肖索引
func GetShengXiaoIndex(year int) int {
    // 不存在0年
    if year == 0 {
        panic("err: invalid year")
    }

    // 公元前补1
    if year < 0 {
        year += 1
    }

    idx := (year - 4) % 12

    if idx < 0 {
        idx += 12
    }

    return idx
}

// 根据给定年份获取生肖
func GetShengXiao(idx int) string {
    return [12]string{"鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪"}[idx]
}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注