Articles of aller

Trier les valeurs de la carte Go par des clés

Lorsque vous parcourez la carte renvoyée dans le code, renvoyée par la fonction topic, les clés n’apparaissent pas dans l’ordre. Comment puis-je avoir les clés dans l’ordre / sortinger la carte pour que les clés soient dans l’ordre et que les valeurs correspondent? Voici le code .

range over interface {} qui stocke une tranche

Compte tenu du scénario où vous avez une fonction qui accepte t interface{} . S’il est déterminé que le t est une tranche, comment puis-je range cette tranche? Je ne saurai pas le type entrant, tel que []ssortingng , []int ou []MyType , au moment de la compilation. func main() { data := []ssortingng{“one”,”two”,”three”} test(data) […]

Affichage d’une page d’erreur 404 personnalisée avec un package http standard

En supposant que nous avons: http.HandleFunc(“/smth”, smthPage) http.HandleFunc(“/”, homePage) L’utilisateur voit une “page 404 non trouvée” quand il tente une URL incorrecte. Comment puis-je retourner une page personnalisée pour cette affaire? Mise à jour concernant Gorilla / mux La réponse acceptée est correcte pour ceux qui utilisent le package net / http pur. Si vous […]

Aller, aller chercher, aller installer, paquets locaux et contrôle de version

J’ai du mal à comprendre le stream de travail pour créer un projet go avec des packages locaux. Disons que je crée un nouveau projet, en utilisant git pour le contrôle de version, qui a un fichier main.go et un fichier tools.go qui sera dans les utilitaires du paquet. J’ai donc une structure de répertoire […]

Comment la mémoire partagée vs le passage de messages gère-t-elle les grandes structures de données?

En examinant l’approche de Go et Erlang en matière de concurrence, j’ai remarqué qu’ils s’appuient tous deux sur le passage des messages. Cette approche atténue évidemment le besoin de verrous complexes car il n’y a pas d’état partagé. Toutefois, considérez le cas de nombreux clients souhaitant un access parallèle en lecture seule à une seule […]

Comment joindre une Slice à une Ssortingng?

package main import ( “fmt” “ssortingngs” ) func main() { reg := […]ssortingng {“a”,”b”,”c”} fmt.Println(ssortingngs.Join(reg,”,”)) } me donne une erreur de: prog.go ne peut pas utiliser reg (type [3] ssortingng) comme type [] chaîne en argument à ssortingngs.Join Existe-t-il un moyen plus direct / meilleur que de boucler et d’append à une variable?

Carte avec access simultané

Lorsque vous utilisez une carte dans un programme avec un access simultané, est-il nécessaire d’utiliser un mutex dans les fonctions pour lire les valeurs?

Tranche de types de tranches

Je travaille actuellement sur l’excellent Tour of Go . J’ai terminé l’un des exercices (# 45) avec la solution suivante: func Pic(dx, dy int) [][]uint8 { pic := make([][]uint8, dy) /* type declaration */ for i := range pic { pic[i] = make([]uint8, dx) /* again the type? */ for j := range pic[i] { […]

Signification d’une structure avec interface anonyme intégrée?

paquet de sort : type Interface interface { Len() int Less(i, j int) bool Swap(i, j int) } … type reverse struct { Interface } Quelle est la signification de l’interface anonyme Interface in struct reverse ?

Encoder / décoder les URL

Quelle est la méthode recommandée pour encoder et décoder des URL complètes dans Go? Je connais les méthodes url.QueryEscape et url.QueryUnescape , mais elles ne semblent pas être exactement ce que je recherche. Plus précisément, je recherche des méthodes comme JavaScript encodeURIComponent et decodeURIComponent . Merci.