Articles of partire

Verificare specificamente l’errore di timeout

Io uso quanto segue per controllare i timeout quando si chiama un webservice, ma vorrei verificare in particolare se c’è un errore di timeout restituito. Come faccio a farlo: S Ho questo: // Timeout type Timeout struct { Connect time.Duration ReadWrite time.Duration } // TimeoutDialer func TimeoutDialer(timeout *Timeout) func(net, addr string) (c net.Conn, err error) […]

Perché niente farmaci generici in Go?

Disclaimer: ho giocato con Go per un solo giorno ora, quindi ci sono buone probabilità che mi sia mancato molto. Qualcuno sa perché non c’è un vero supporto per generici / modelli / whatsInAName in Go? Quindi c’è una map generica, ma fornita dal compilatore, mentre un programmatore Go non può scrivere la propria implementazione. […]

Come fermare http.ListenAndServe ()

Sto usando la libreria Mux di Gorilla Web Toolkit insieme al server Go http in bundle. Il problema è che nella mia applicazione il server HTTP è solo un componente ed è necessario fermarsi e iniziare a mia discrezione. Quando chiamo http.ListenAndServe(fmt.Sprintf(“:%d”, service.Port()), service.router) blocca e non riesco a fermare il funzionamento del server. Sono […]

Come posso leggere un intero file in una variabile stringa

Ho molti piccoli file, non voglio leggerli riga per riga. Esiste una funzione in Go che legge un intero file in una variabile stringa?

Come posso “andare a correre” su un progetto con più file nel pacchetto principale?

Al momento ho un singolo file nel mio pacchetto principale chiamato main.go Come main.go il contenuto di main.go in più file senza creare un pacchetto separato perché il codice non è riutilizzabile. Voglio una struttura di directory come questa: $ ls foo main.go bar.go bar.go package main import “fmt” func Bar() { fmt.Println(“Bar”) } Quindi […]

Serve homepage e contenuto statico da root

In Golang, come faccio a pubblicare i contenuti statici dalla directory root mentre ho ancora un gestore di directory root per servire la home page. Utilizzare il seguente server Web semplice come esempio: package main import ( “fmt” “net/http” ) func main() { http.HandleFunc(“/”, HomeHandler) // homepage http.ListenAndServe(“:8080”, nil) } func HomeHandler(w http.ResponseWriter, r *http.Request) […]

Come ottenere la risposta JSON in Golang

Sto provando a leggere i dati JSON dal web, ma quel codice restituisce risultati vuoti. Non sono sicuro di cosa sto facendo male qui. package main import “os” import “fmt” import “net/http” import “io/ioutil” import “encoding/json” type Tracks struct { Toptracks []Toptracks_info } type Toptracks_info struct { Track []Track_info Attr []Attr_info } type Track_info struct […]

In parte JSON unmarshal in una mappa in Go

Il mio server websocket riceverà e dati JSON unmarshal. Questi dati saranno sempre racchiusi in un object con coppie chiave / valore. La stringa di chiavi fungerà da identificatore di valore, dicendo al server Go che tipo di valore è. Sapendo quale tipo di valore, posso quindi passare a JSON unmarshal il valore nel tipo […]

Cosa fa esattamente il runtime.Gosched?

In una versione precedente all’uscita di go 1.5 del sito web Tour of Go , c’è una parte di codice simile a questa. package main import ( “fmt” “runtime” ) func say(s string) { for i := 0; i < 5; i++ { runtime.Gosched() fmt.Println(s) } } func main() { go say("world") say("hello") } L’output […]

Come funziona il compilatore Go1?

Mi sono dilettato con Go per circa un mese per un progetto scolastico e ho notato i pacchetti go / ast, go / token, go / parser, ecc. Nella cartella src / pkg / go. Tuttavia, il compilatore gc era basato su file C situati in src / cmd / gc. La mia domanda riguarda […]