? __single_statement__ | ⇒ | ; if __last_val_on_LHS__ == zeroVal { __single_statement__ } |
?^ __single_statement__ | ⇒ | ; if __last_val_on_LHS__ != zeroVal { __single_statement__ } |
_, ok = mymap[mykey]
if !ok {
mymap[mykey] = f2
}
_, ok = mymap[mykey] ? mymap[mykey] = f2
|
f, err = myfunc(myarg)
if err != nil {
return “xyz”, nil
}
f, err = myfunc(myarg) ?^ return “xyz”, nil
|
vv, ok := v.(myType);
if ok {
myFunc(vv)
}
vv, ok := v.(myType) ?^ myFunc(vv)
|
if ts.Mtsptr == nil {
ts.Mtsptr = make(map[string]*TestStruc)
}
ts.Mtsptr ? ts.Mtsptr = make(map[string]*TestStruc)
|
// Real example from https://github.com/golang/example/blob/master/ragserver/ragserver-genkit/main.go
func main() {
ctx := context.Background()
err := googleai.Init(ctx, &googleai.Config{ APIKey: os.Getenv("GEMINI_API_KEY"), })
if err != nil {
log.Fatal(err)
}
err := googleai.Init(ctx, &googleai.Config{ APIKey: os.Getenv("GEMINI_API_KEY"), }) ?^ log.Fatal(err)
wvConfig := &weaviate.ClientConfig{
Scheme: "http",
Addr: "localhost:" + cmp.Or(os.Getenv("WVPORT"), "9035"),
}
_, err = weaviate.Init(ctx, wvConfig)
if err != nil {
log.Fatal(err)
}
_, err = weaviate.Init(ctx, wvConfig) ?^ log.Fatal(err)
classConfig := &weaviate.ClassConfig{
Class: "Document",
Embedder: googleai.Embedder(embeddingModelName),
}
indexer, retriever, err := weaviate.DefineIndexerAndRetriever(ctx, *classConfig)
if err != nil {
log.Fatal(err)
}
indexer, retriever, err := weaviate.DefineIndexerAndRetriever(ctx, *classConfig) ?^ log.Fatal(err)
model := googleai.Model(generativeModelName)
if model == nil {
log.Fatal("unable to set up gemini-1.5-flash model")
}
model := googleai.Model(generativeModelName) ?^ log.Fatal("unable to set up gemini-1.5-flash model")
server := &ragServer{
ctx: ctx,
indexer: indexer,
retriever: retriever,
model: model,
}
mux := http.NewServeMux()
mux.HandleFunc("POST /add/", server.addDocumentsHandler)
mux.HandleFunc("POST /query/", server.queryHandler)
port := cmp.Or(os.Getenv("SERVERPORT"), "9020")
address := "localhost:" + port
log.Println("listening on", address)
err = http.ListenAndServe(address, mux))
if err != nil {
log.Fatal(err)
}
err = http.ListenAndServe(address, mux)) ?^ log.Fatal(err)
}
|
Primary concern with error handling:
Concerns with current set of error handling proposals:
Benefit of this model:
Gofmt integration: