From e7ccfbad7af2bca82e20344464e89476689dd66c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Mon, 19 Feb 2024 16:43:31 +0900 Subject: [PATCH] feat(lookup): add more apis --- cmd/main.go | 2 +- lookup.go | 29 +++++++++++++++++++++++++++-- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/cmd/main.go b/cmd/main.go index d59b9d5..d429375 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -138,7 +138,7 @@ func main() { fmt.Println("ERROR: 非法汉字参数-a:", *addoverlay) return } - lst, err := coder.Lookup(r[0]) + lst, err := coder.LookupChar(r[0]) if err != nil { fmt.Println("ERROR: coder.Lookup:", err) return diff --git a/lookup.go b/lookup.go index e73eef4..292ce6d 100644 --- a/lookup.go +++ b/lookup.go @@ -8,8 +8,8 @@ import ( const 空 = '🈳' -// Lookup 查一个汉字 (可能是多音字) -func (c *Coder) Lookup(ch rune) (explains []string, err error) { +// LookupChar 查一个汉字 (可能是多音字) +func (c *Coder) LookupChar(ch rune) (explains []string, err error) { lst, _, err := c.查字(ch, make([]字表, 0, 8)) if err != nil || len(lst) == 0 { return @@ -21,6 +21,31 @@ func (c *Coder) Lookup(ch rune) (explains []string, err error) { return } +// LookupRadical 查一个部首 +func (c *Coder) LookupRadical(r rune) string { + return c.部首(r) +} + +// GetCharByID ... +func (c *Coder) GetCharByID(id int64) (w, r rune, p, f string, err error) { + x := 字表{} + q := "WHERE ID=" + strconv.FormatInt(id, 10) + c.mu.RLock() + err = c.db.Find(附字表名, &x, q) + if err != nil { + err = c.db.Find(主字表名, &x, q) + } + c.mu.RUnlock() + if err != nil { + return + } + w = x.W + r = x.R + p = x.P + f = x.F + return +} + func 随机正查(m [][]string, isRandom bool, i uint8) string { lst := m[i] if len(lst) == 0 {