summaryrefslogtreecommitdiff
path: root/generateFind.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-01-12 04:40:12 -0600
committerJeff Carr <[email protected]>2025-01-12 04:40:12 -0600
commit2394b2c0553d374b27796b9c013dc88708450623 (patch)
treed54e3a745cdfde95815a5c64b1a4261c72432487 /generateFind.go
parent8ac4d90c22f1b884ea140d0a14f65ab56768cbe4 (diff)
good stuff. Find() seems to work
Diffstat (limited to 'generateFind.go')
-rw-r--r--generateFind.go17
1 files changed, 11 insertions, 6 deletions
diff --git a/generateFind.go b/generateFind.go
index d1f660b..7d8637d 100644
--- a/generateFind.go
+++ b/generateFind.go
@@ -18,9 +18,12 @@ func (msg *MsgName) getLockname(s string) string {
return msg.Lockname
}
-func generateFindBy(w io.Writer, FRUIT, APPLES, APPLE, COLOR, LOCK string) {
- fmt.Fprintln(w, "// lookup a", FRUIT, "by the ", COLOR)
- fmt.Fprintln(w, "func (x *"+FRUIT+") FindBy"+COLOR+"(s string) *"+APPLE+" {")
+func (msg *MsgName) generateFindBy(w io.Writer, FUNCNAME, STRUCT, VARNAME, VARTYPE, COLOR string) string {
+ LOCK := msg.getLockname("x")
+ funcdef := "func (x *" + STRUCT + ") " + FUNCNAME + "(s string) *" + VARTYPE
+
+ fmt.Fprintln(w, "// lookup a", STRUCT, "by the ", COLOR)
+ fmt.Fprintln(w, funcdef, "{")
fmt.Fprintln(w, " if x == nil {")
fmt.Fprintln(w, " return nil")
fmt.Fprintln(w, " }")
@@ -28,14 +31,16 @@ func generateFindBy(w io.Writer, FRUIT, APPLES, APPLE, COLOR, LOCK string) {
fmt.Fprintln(w, " "+LOCK+".RLock()")
fmt.Fprintln(w, " defer "+LOCK+".RUnlock()")
fmt.Fprintln(w, "")
- fmt.Fprintln(w, " for i, _ := range x."+APPLES+" {")
- fmt.Fprintln(w, " if x."+APPLES+"[i]."+COLOR+" == s {")
- fmt.Fprintln(w, " return x."+APPLES+"[i]")
+ fmt.Fprintln(w, " for i, _ := range x."+VARNAME+" {")
+ fmt.Fprintln(w, " if x."+VARNAME+"[i]."+COLOR+" == s {")
+ fmt.Fprintln(w, " return x."+VARNAME+"[i]")
fmt.Fprintln(w, " }")
fmt.Fprintln(w, " }")
fmt.Fprintln(w, " return nil")
fmt.Fprintln(w, "}")
fmt.Fprintln(w, "")
+
+ return funcdef
}
func (msg *MsgName) deleteBy(w io.Writer, FRUIT, APPLES, APPLE, COLOR, FUNCNAME, VARNAME string) string {