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.

5
Jak czekać, aż wszystkie gorutiny skończą się, nie tracąc czasu.
Ten kod wybiera wszystkie pliki xml w tym samym folderze, ponieważ wywołany plik wykonywalny i asynchronicznie stosuje przetwarzanie do każdego wyniku w metodzie wywołania zwrotnego (w poniższym przykładzie drukowana jest tylko nazwa pliku). Jak uniknąć używania metody uśpienia, aby główna metoda nie zakończyła się? Mam problemy z owinięciem głowy wokół …

5
Jak wskazać zależność modułu Go w go.mod do ostatniego zatwierdzenia w repozytorium?
Począwszy od wersji 1.11 Go dodano obsługę modułów. Polecenia go mod init <package name> go build wygeneruje go.modi go.sumpliki zawierające wszystkie znalezione wersje dla zależności pakietów. Jeśli moduł nie ma żadnych wersji, używane jest najnowsze zatwierdzenie tego modułu. Jeśli moduł ma wersje, najnowsza jest wybierana jako zależność. Jednak czasami potrzebowałbym …
111 git  go  module 

3
Dlaczego Go zawiera instrukcję „goto”
Zaskoczyło mnie, że Go zawiera stwierdzenie „goto” . Zawsze uczono mnie, że instrukcje „goto” należą do przeszłości i są złe, ponieważ blokują rzeczywisty przepływ programu, a funkcje lub metody są zawsze lepszym sposobem kontrolowania przepływu. Muszę czegoś przegapić. Dlaczego Google to umieściło?
110 go  goto 


7
Jak sprawdzić pustą strukturę?
Definiuję strukturę ... type Session struct { playerId string beehive string timestamp time.Time } Czasami przypisuję mu pustą sesję (ponieważ zero nie jest możliwe) session = Session{}; Następnie chcę sprawdzić, czy jest pusty: if session == Session{} { // do stuff... } Oczywiście to nie działa. Jak to napisać?
110 struct  go 

10
Dlaczego Go działa tak wolno (w porównaniu z Javą)?
Jak mogliśmy zobaczyć z The Computer Language Benchmarks Game w 2010 roku: Go jest średnio 10 razy wolniejsze niż C Go jest 3x wolniejsze niż Java !? Jak to możliwe, pamiętając, że kompilator Go tworzy natywny kod do wykonania? Niedojrzałe kompilatory dla Go? Czy jest jakiś nieodłączny problem z językiem …

12
Czy istnieje metoda generowania UUID za pomocą języka go
Mam kod, który wygląda następująco: u := make([]byte, 16) _, err := rand.Read(u) if err != nil { return } u[8] = (u[8] | 0x80) & 0xBF // what does this do? u[6] = (u[6] | 0x40) & 0x4F // what does this do? return hex.EncodeToString(u) Zwraca ciąg o długości …
109 go  uuid 

13
Jak zaimportować określoną wersję pakietu za pomocą go get?
pochodzący ze Nodeśrodowiska, którego używałem do instalowania określonej wersji biblioteki dostawcy w folderze projektu ( node_modules), nakazując npmzainstalowanie tej wersji tej biblioteki z package.jsonkonsoli lub nawet bezpośrednio z konsoli, na przykład: $ npm install express@4.0.0 Następnie zaimportowałem tę wersję tego pakietu do mojego projektu za pomocą: var express = require('express'); …

11
Techniki obsługi błędów Go [zamknięte]
Zamknięte . To pytanie jest oparte na opinii . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć, podając fakty i cytaty, edytując ten post . Zamknięte 12 miesięcy temu . Popraw to pytanie Dopiero zaczynam z Go. Mój kod zaczyna mieć dużo …
108 go 

3
Przykład dla sync.WaitGroup jest poprawne?
Czy to przykładowe użycie jest sync.WaitGroupprawidłowe? Daje oczekiwany efekt, ale nie jestem pewien co wg.Add(4)do pozycji i pozycji wg.Done(). Czy ma sens dodawanie jednocześnie czterech gorutyn wg.Add()? http://play.golang.org/p/ecvYHiie0P package main import ( "fmt" "sync" "time" ) func dosomething(millisecs time.Duration, wg *sync.WaitGroup) { duration := millisecs * time.Millisecond time.Sleep(duration) fmt.Println("Function in …
108 go  goroutine 


11
Jak zapisać log do pliku
Próbuję pisać do pliku dziennika za pomocą Go. Wypróbowałem kilka podejść, z których wszystkie zawiodły. Oto, czego próbowałem: 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 …
108 go  logging 

2
Odbiornik wartości a odbiornik wskaźnika
Jest dla mnie bardzo niejasne, w którym przypadku chciałbym użyć odbiornika wartości zamiast zawsze używać odbiornika wskaźnika. Podsumowując z dokumentów: type T struct { a int } func (tv T) Mv(a int) int { return 0 } // value receiver func (tp *T) Mp(f float32) float32 { return 1 } …
108 function  pointers  go 

3
Iteruj przez pola struktury w Go
Zasadniczo jedyny sposób (jaki znam) na iterację wartości pól a structjest taki: type Example struct { a_number uint32 a_string string } //... r := &Example{(2 << 31) - 1, "...."}: for _, d:= range []interface{}{ r.a_number, r.a_string, } { //do something with the d } Zastanawiałem się, czy istnieje lepszy …
108 go  go-reflect 


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.