Je dois décoder une chaîne JSON avec le nombre flottant comme: {“name”:”Galaxy Nexus”, “price”:”3460.00″} J’utilise le code Golang ci-dessous: package main import ( “encoding/json” “fmt” ) type Product struct { Name ssortingng Price float64 } func main() { s := `{“name”:”Galaxy Nexus”, “price”:”3460.00″}` var pro Product err := json.Unmarshal([]byte(s), &pro) if err == nil { […]
J’essaie d’avoir un object Go implémenter io.Writer, mais écrit dans une chaîne au lieu d’un fichier ou d’un object de type fichier. Je pensais que bytes.Buffer fonctionnerait car il implémente Write(p []byte) . Cependant quand j’essaye ceci: import “bufio” import “bytes” func main() { var b bytes.Buffer foo := bufio.NewWriter(b) } Je reçois l’erreur suivante: […]
Quelles sont les principales différences entre les deux compilateurs Go, gc et gccgo? Construire la performance? Performances d’exécution? Options de ligne de commande? Licence? Je ne cherche pas des avis sur ce qui est le mieux, juste un aperçu de base de leurs différences, afin que je puisse décider lequel est le mieux adapté à […]
Lors de l’exécution de mon programme Go, il panique et renvoie les éléments suivants: panic: runtime error: invalid memory address or nil pointer dereference [signal 0xb code=0x1 addr=0x38 pc=0x26df] goroutine 1 [running]: main.getBody(0x1cdcd4, 0xf800000004, 0x1f2b44, 0x23, 0xf84005c800, …) /Users/matt/Dropbox/code/go/scripts/cron/fido.go:65 +0x2bb main.getToken(0xf84005c7e0, 0x10) /Users/matt/Dropbox/code/go/scripts/cron/fido.go:140 +0x156 main.main() /Users/matt/Dropbox/code/go/scripts/cron/fido.go:178 +0x61 goroutine 2 [syscall]: created by runtime.main /usr/local/Cellar/go/1.0.3/src/pkg/runtime/proc.c:221 goroutine […]
Maintenant, bien sûr, je pourrais écrire mon expression régulière pour gérer les deux cas, comme regexp.Comstack(“[a-zA-Z]”) , mais mon expression régulière est construite à partir d’une chaîne donnée par l’utilisateur: reg, err := regexp.Comstack(ssortingngs.Replace(s.Name, ” “, “[ \\._-]”, -1)) Où s.Name est le nom. Ce qui pourrait être quelque chose comme ‘North by Northwest’. Maintenant, […]
J’ai une chaîne contenant un entier (qui a été lu dans un fichier). J’essaie de convertir la ssortingng en int utilisant strconv.ParseInt() . ParseInt exige que je fournisse une taille en bits (les tailles de bits 0, 8, 16, 32 et 64 correspondent à int, int8, int16, int32 et int64). L’entier lu dans le fichier […]
J’essaie de trouver le meilleur moyen de gérer les demandes vers / et uniquement / dans Go et de gérer différentes méthodes de différentes manières. Voici le meilleur que j’ai inventé: package main import ( “fmt” “html” “log” “net/http” ) func main() { http.HandleFunc(“/”, func(w http.ResponseWriter, r *http.Request) { if r.URL.Path != “/” { http.NotFound(w, […]
J’ai vu plusieurs stratégies de nommage de packages de tests différentes dans Go et je voulais savoir quels étaient les avantages et les inconvénients de chacun et lesquels utiliser. Stratégie 1: Nom du fichier: github.com/user/myfunc.go package myfunc Nom du fichier de test: github.com/user/myfunc_test.go package myfunc Voir bzip2 pour un exemple. Stratégie 2: Nom du fichier: […]
J’essaie d’écrire dans un fichier journal avec Golang. J’ai essayé plusieurs approches, qui ont toutes échoué. C’est ce que j’ai essayé: func TestLogging(t *testing.T) { if !FileExists(“logfile”) { CreateFile(“logfile”) } f, err := os.Open(“logfile”) if err != nil { t.Fatalf(“error: %v”, err) } // attempt #1 log.SetOutput(io.MultiWriter(os.Stderr, f)) log.Println(“hello, logfile”) // attempt #2 log.SetOutput(io.Writer(f)) log.Println(“hello, […]
Si vous exécutez les tests de Golang sur CI CI, vous téléchargerez toutes vos dépendances avec trois points : go get -d -v ./… && go build -v ./… Qu’est-ce que ./… indique ou développe? J’ai fait des recherches mais cela ne semble pas être une convention Unix.