根据给定年份,返回生肖字符串,公元前使用负值即可。(比如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]
}
发表回复