Closed liuhedong closed 3 years ago
@liuhedong v1.0.14 已修复该数组下标越界的问题。
// 指定阳历时间得到八字信息 solar := calendar.NewSolar(1983, 12, 15, 12, 30, 0) lunar := solar.GetLunar()
// 值年九星
jx := lunar.GetYearNineStar()
fmt.Println(jx)
fmt.Println(jx.ToFullString())
// 值月九星
jx = lunar.GetMonthNineStar()
fmt.Println(jx)
fmt.Println(jx.ToFullString())
// 值日九星
jx = lunar.GetDayNineStar()
fmt.Println(jx)
fmt.Println(jx.ToFullString())
// 值时九星
jx = lunar.GetTimeNineStar()
fmt.Println(jx)
fmt.Println(jx.ToFullString())
// 八字转阳历
for i := calendar.ListSolarFromBaZi("庚子", "戊子", "己卯", "庚午").Front(); i != nil; i = i.Next() {
fmt.Println(i.Value.(*calendar.Solar).ToFullString())
}
fmt.Println()
panic: runtime error: index out of range [-1]
goroutine 1 [running]: github.com/6tail/lunar-go/calendar.(NineStar).GetNumber(...) NineStar.go:59 github.com/6tail/lunar-go/calendar.(NineStar).ToFullString(0xc0000a2cb0, 0xc0000a2cb0, 0x66) NineStar.go:127 +0x899 exit status 2
@liuhedong 我看了没问题啊,你是不是用的最新版本?
...... lunar := calendar.NewLunar(1983, 12, 15, 12, 30, 0) // solar := lunar.GetSolar() // solar := calendar.NewSolar(1984, 1, 17, 17, 12, 30) // lunar := solar.GetLunar() ......
@liuhedong v1.0.15 再次修复值月九星数组下标越界的问题。
...... // 指定阳历时间得到八字信息 solar := calendar.NewSolar(1981, 12, 10, 12, 30, 0) lunar := solar.GetLunar()
......
%!v(PANIC=String method: runtime error: index out of range [9] with length 9) panic: runtime error: index out of range [9] with length 9
goroutine 1 [running]: github.com/6tail/lunar-go/calendar.(NineStar).GetNumber(0xc0000a4cc8, 0x70, 0x4e) NineStar.go:63 +0xfa github.com/6tail/lunar-go/calendar.(NineStar).ToFullString(0xc0000a4cc8, 0xc000010018, 0xc00029ff08) NineStar.go:133 +0x2f main.main() main.go:25 +0x213 exit status 2
运行下面就能解决: // 指定阳历时间得到八字信息 solar := calendar.NewSolar(1981, 12, 10, 12, 30, 0) lunar := solar.GetLunar()