expr.AsKind not work?
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia con la riproduzione Go fornita ed esamina expr.AsKind e l'errore di compilazione che produce. Determina se la mancata corrispondenza tra int e int32 è prevista o se si tratta di un bug, quindi documenta il modo supportato per ottenere un risultato int32 oppure definisci la correzione necessaria.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
package main
import (
"errors"
"fmt"
"reflect"
"github.com/expr-lang/expr"
)
type Number interface {
int | uint | uint32 | int32 | uint64 | int64 | float32 | float64
}
func TryStrToNum[T Number](str string) (retValue T, err error) {
program, err := expr.Compile(str, expr.AsKind(reflect.TypeOf(retValue).Kind()))
if err != nil {
fmt.Printf("Compile Error: %s, %v\n", str, err)
return
}
v, err := expr.Run(program, nil)
if err != nil {
fmt.Printf("Run Error: %s, %v\n", str, err)
return
}
retValue, flag := v.(T)
if !flag {
fmt.Printf("StrToNumber Error: %s, %v", str, v)
return retValue, errors.New(fmt.Sprintf("TryStrToNum error: %s", str))
}
return retValue, nil
}
func main() {
fmt.Println(TryStrToNum[int32]("1"))
}
/*
Compile Error: 1, expected int32, but got int
0 expected int32, but got int
*/
is it a bug ?
How to fix it?
- Lingua principale
- Go
- Stelle
- 8k
- Fork
- 529
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di expr-lang/expr
-
docs needed
Difficoltà 1/5 1-3 ore Idoneità per principianti 62/100
-
`find`, `findIndex`, `first` and `get` are type-checked as the element type where they return nil Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
-
Release latest master branch Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
Tutte le issue di expr-lang/expr
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
bug group: validation priority: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
codecheckers/chekhov#51 ·
-
Creating worktree from an existing remote branch with a slash in it, has unexpected behaviour Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100