«go» etiketlenmiş sorular

Go, açık kaynaklı bir programlama dilidir. Otomatik olarak C'den gevşek bir şekilde türetilmiş bir sözdizimi ile otomatik olarak yazılır, otomatik bellek yönetimi, tür güvenliği, bazı dinamik yazma yetenekleri, değişken uzunluklu diziler (dilim olarak adlandırılır) ve anahtar / değer eşlemeleri gibi ek yerleşik türler eklenir. büyük standart kütüphane.

4
Go yapısını JSON'a dönüştürme
jsonPaketi kullanarak JSON bir Go yapı dönüştürmek çalışıyorum ama tüm elde {}. Tamamen açık bir şey olduğundan eminim ama görmüyorum. package main import ( "fmt" "encoding/json" ) type User struct { name string } func main() { user := &User{name:"Frank"} b, err := json.Marshal(user) if err != nil { fmt.Printf("Error: …
181 json  go 

12
JSON Yanıtında alanları yapıdan kaldırma veya gizleme
Go'da çağrıldığında bir sorgu gerçekleştiren, bir yapının örneğini oluşturan ve daha sonra arayana geri göndermeden önce bu yapıyı JSON olarak kodlayan bir API oluşturdum. Şimdi arayanın "alanlar" GET parametresinden geçirerek geri dönmek istedikleri belirli alanları seçebilmesine izin vermek istiyorum. Bu, alan değerlerine bağlı olarak yapımın değişeceği anlamına gelir. Bir yapıdan …
181 json  go 

5
Özel paketler nasıl kullanılır?
Go'da özel bir paket oluşturmaya ve kullanmaya çalışıyorum. Muhtemelen çok açık bir şey ama bu konuda fazla bilgi bulamıyorum. Temel olarak, aynı klasörde şu iki dosya var: mylib.go package mylib type SomeType struct { } main.go package main import ( "mylib" ) func main() { } Ne zaman denemek go …
178 import  package  go 

4
veri (tip arayüzü {}) dizgiye dönüştürülemiyor: tür onayı gerekiyor
Gitmek için oldukça yeniyim ve bu bildirim paketi ile oynuyordum . İlk başta şöyle görünüyordu kodu vardı: func doit(w http.ResponseWriter, r *http.Request) { notify.Post("my_event", "Hello World!") fmt.Fprint(w, "+OK") } Newline eklemek istedim Hello World!ama doityukarıdaki fonksiyonda değil , çünkü bu oldukça önemsiz olurdu, ancak handlerdaha sonra aşağıdaki gibi: func handler(w …
178 go  type-mismatch 

2
Bayt dilimini io.Okuyucusuna dönüştür
Projemde, bir isteğin yanıtından bir bayt dilim var. 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 } Bu işe yarar, ancak yanıtın vücudunu almak istersem io.Readernasıl dönüştürebilirim? Yeni okuyucuyu / yazarı …
177 go 


2
Go'da JSON Marshal ile küçük JSON anahtar adları
Kullanmak istiyorum "encoding/json"Paketi, başvurumun içe aktarılan paketlerinden birinde bildirilen bir yapıyı marshal istiyorum. Örneğin.: type T struct { Foo int } İçe aktarıldığından, yapıdaki tüm kullanılabilir (dışa aktarılan) alanlar büyük harfle başlar. Ama küçük harf anahtar isimlerine sahip olmak istiyorum: out, err := json.Marshal(&T{Foo: 42}) sonuçlanacak { "Fan": 42} ama …
175 json  go  marshalling 

10
Bir dizi tamsayı yinelemenin bir yolu var mı?
Go'nun menzili haritalar ve dilimleri tekrarlayabilir, ancak bir dizi sayı üzerinde yineleme yapmanın bir yolu olup olmadığını merak ediyordum: for i := range [1..10] { fmt.Println(i) } Veya Go'daki Ruby sınıfıyla nasıl bir tam sayı aralığını temsil etmenin bir yolu var ?
175 go 


7
Yerel paketleri gopath olmadan içe aktarma
Ben kullandım GOPATHama bu mevcut sorun için ben yardımcı olmuyor. Bir projeye özgü paketler oluşturmak istiyorum: myproject/ ├── binary1.go ├── binary2.go ├── package1.go └── package2.go Ben birden fazla yol çalıştı ama nasıl alırım package1.goiş için binary1.goveya binary2.goüzerinde ve böylece? Örneğin; Ben edebilmek istiyorum import "package1"ve daha sonra çalıştırmak mümkün go …
171 go  package 

2
Bir dilimin son elemanı nasıl elde edilir?
Bir dilimin son öğesini çıkarmak için Git yolu nedir? var slice []int slice = append(slice, 2) slice = append(slice, 7) slice[len(slice)-1:][0] // Retrieves the last element Yukarıdaki çözüm işe yarıyor, ancak garip görünüyor.
167 go  slice 

5
harita [anahtar] silinsin mi?
Bir haritam var: var sessions = map[string] chan int{} Nasıl silebilirim sessions[key]? Denedim: sessions[key] = nil,false; Bu işe yaramadı. Güncelleme (Kasım 2011): Harita sürümlerini silmek için özel sözdizimi Go sürüm 1'de kaldırılır : Go 1, özel harita atamasını kaldıracak ve yeni bir yerleşik işlev sunacaktır delete: delete(m, x)İfade tarafından alınan …
166 map  go 

8
HTTP üstbilgilerini ayarlama
Go web sunucumda bir başlık ayarlamaya çalışıyorum. Kullanıyorum gorilla/muxve net/httppaketleri. Access-Control-Allow-Origin: *Etki alanları arası AJAX'a izin vermek için ayarlamak istiyorum . İşte benim Git kodum: 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) …
165 http  go  cors  http-headers 

5
Stack'teki yapıların yığın tahsisine karşı yığını ve bunların çöp toplama ile ilişkisi
Gitmek için yeniyim ve otomatik değişkenlerin yığın üzerinde yaşadığı ve ayrılan belleğin yığın üzerinde yaşadığı C stili yığın tabanlı programlama ile burada Python tarzı yığın tabanlı programlama yığın üzerinde yaşayan tek şey öbek üzerindeki nesnelere referanslar / işaretçilerdir. Anlayabildiğim kadarıyla, aşağıdaki iki fonksiyon aynı çıktıyı verir: func myFunction() (*MyStructType, error) …

6
Go'da sıfır algılama
Go tespit nil, bir sürü kod görüyorum, şöyle: if err != nil { // handle the error } Ancak, böyle bir yapı var: type Config struct { host string port float64 } ve config, yaptığım zaman Config'in bir örneğidir: if config == nil { } derleme hatası, diyerek: nil Config …
165 go  null 

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.