Pytania otagowane jako go

Go to język programowania typu open source. Jest on typowany statycznie, z składnią luźno pochodną od C, dodając automatyczne zarządzanie pamięcią, bezpieczeństwo typu, niektóre możliwości dynamicznego pisania, dodatkowe wbudowane typy, takie jak tablice o zmiennej długości (zwane plasterkami) i mapy klucz-wartość oraz duża standardowa biblioteka.

4
Konwertowanie Go struct na JSON
Próbuję przekonwertować strukturę Go na JSON przy użyciu jsonpakietu, ale wszystko, co dostaję, to {}. Jestem pewien, że jest to coś całkowicie oczywistego, ale nie widzę tego. package main import ( "fmt" "encoding/json" ) type User struct { name string } func main() { user := &User{name:"Frank"} b, err := …
181 json  go 

11
Usuwanie pól ze struktury lub ukrywanie ich w odpowiedzi JSON
Stworzyłem API w Go, które po wywołaniu wykonuje zapytanie, tworzy instancję struktury, a następnie koduje tę strukturę jako JSON przed wysłaniem z powrotem do dzwoniącego. Chciałbym teraz pozwolić wywołującemu na wybranie określonych pól, które chcieliby zwrócić, przekazując parametr GET „pola”. Oznacza to, że w zależności od wartości pól moja struktura …
181 json  go 

5
Jak korzystać z pakietów niestandardowych
Próbuję utworzyć i używać niestandardowego pakietu w Go. Prawdopodobnie jest to coś bardzo oczywistego, ale nie mogę znaleźć wielu informacji na ten temat. Zasadniczo mam te dwa pliki w tym samym folderze: mylib.go package mylib type SomeType struct { } main.go package main import ( "mylib" ) func main() { …
178 import  package  go 

4
nie można konwertować danych (typ interface {}) do typu łańcuchowego: potrzeba potwierdzenia typu
Jestem całkiem nowy i bawiłem się tym pakietem powiadomień . Na początku miałem kod, który wyglądał tak: func doit(w http.ResponseWriter, r *http.Request) { notify.Post("my_event", "Hello World!") fmt.Fprint(w, "+OK") } Chciałem dodać znak nowej linii do powyższej Hello World!funkcji doit, ale nie w powyższej funkcji , ponieważ byłoby to dość trywialne, …
178 go  type-mismatch 

2
Konwertuj kawałek bajtów na io.Reader
W moim projekcie mam wycinek bajtu z odpowiedzi żądania. defer resp.Body.Close() if resp.StatusCode != http.StatusOK { log.Println("StatusCode为" + strconv.Itoa(resp.StatusCode)) return } respByte, err := ioutil.ReadAll(resp.Body) if err != nil { log.Println("fail to read response data") return } To działa, ale jeśli chcę uzyskać treść odpowiedzi io.Reader, w jaki sposób mogę …
177 go 

2
Nazwy kluczy JSON pisane małymi literami z JSON Marshal in Go
Chcę użyć "encoding/json"pakietu do zorganizowania struktury zadeklarowanej w jednym z zaimportowanych pakietów mojej aplikacji. Na przykład.: type T struct { Foo int } Ponieważ jest importowany, wszystkie dostępne (eksportowane) pola w strukturze zaczynają się od dużej litery. Ale chciałbym mieć nazwy kluczy małymi literami: out, err := json.Marshal(&T{Foo: 42}) spowoduje …
175 json  go  marshalling 


10
Czy istnieje sposób na iterację w zakresie liczb całkowitych?
Zakres Go może iterować po mapach i wycinkach, ale zastanawiałem się, czy istnieje sposób na iterację w zakresie liczb, coś takiego: for i := range [1..10] { fmt.Println(i) } A może istnieje sposób na przedstawienie zakresu liczb całkowitych w Go, tak jak robi to Ruby z klasą Range ?
174 go 


7
Jak zaimportować pakiety lokalne bez gopath
Użyłem, GOPATHale w tym bieżącym problemie, przed którym stoję, nie pomaga. Chcę mieć możliwość tworzenia pakietów specyficznych dla projektu: myproject/ ├── binary1.go ├── binary2.go ├── package1.go └── package2.go Próbowałem na wiele sposobów, ale jak mam zacząć package1.gopracować w tym binary1.golub innym binary2.goi tak dalej? Na przykład; Chcę mieć możliwość, import …
171 go  package 

2
Jak zdobyć ostatni element plastra?
Jaka jest metoda Go na wyodrębnienie ostatniego elementu plasterka? var slice []int slice = append(slice, 2) slice = append(slice, 7) slice[len(slice)-1:][0] // Retrieves the last element Powyższe rozwiązanie działa, ale wydaje się niezręczne.
167 go  slice 

5
usunąć mapę [klucz] w go?
Mam mapę: var sessions = map[string] chan int{} Jak mogę usunąć sessions[key]? Próbowałem: sessions[key] = nil,false; To nie zadziałało. Aktualizacja (listopad 2011): Specjalna składnia do usuwania wpisów mapy została usunięta w wersji Go 1 : Go 1 usunie specjalne przypisanie mapy i wprowadzi nową wbudowaną funkcję delete:: delete(m, x)usunie wpis …
166 map  go 

8
Ustawianie nagłówków HTTP
Próbuję ustawić nagłówek na moim serwerze internetowym Go. Używam gorilla/muxi net/httppakietów. Chcę Access-Control-Allow-Origin: *zezwolić na obsługę AJAX w wielu domenach. Oto mój kod Go: func saveHandler(w http.ResponseWriter, r *http.Request) { // do some stuff with the request data } func main() { r := mux.NewRouter() r.HandleFunc("/save", saveHandler) http.Handle("/", r) http.ListenAndServe(":"+port, …
165 http  go  cors  http-headers 


6
wykrywanie zera w Go
Widzę dużo kodu w Go, aby wykryć zero, na przykład: if err != nil { // handle the error } jednak mam taką strukturę: type Config struct { host string port float64 } a config to instancja Config, kiedy robię: if config == nil { } występuje błąd kompilacji, który …
165 go  null 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.