«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.

5
Zamanı dönüştür, zamanı dizeye
Veritabanımdan Go'daki a'ya bazı değerler eklemeye çalışıyorum []string. Bunlardan bazıları zaman damgalarıdır. Şu hatayı alıyorum: dizi öğesinde tür dizesi olarak U.Created_date (type time.Time) kullanılamaz Ben dönüştürebilir miyim time.Timehiç string? type UsersSession struct { Userid int Timestamp time.Time Created_date time.Time } type Users struct { Name string Email string Country string …
111 string  time  go 

4
Golang'da uzun bir kod satırı nasıl kırılır?
Python'dan geliyorum, 80 sütundan daha uzun kod satırları görmeye alışkın değilim. Yani bununla karşılaştığımda: err := database.QueryRow("select * from users where user_id=?", id).Scan(&ReadUser.ID, &ReadUser.Name, &ReadUser.First, &ReadUser.Last, &ReadUser.Email) Kırmaya çalıştım err := database.QueryRow("select * from users where user_id=?", id) \ .Scan(&ReadUser.ID, &ReadUser.Name, &ReadUser.First, &ReadUser.Last, &ReadUser.Email) Ama anlıyorum syntax error: unexpected \ …
111 go  syntax 

13
Golang'da bir Slice'dan bir eleman nasıl silinir
fmt.Println("Enter position to delete::") fmt.Scanln(&pos) new_arr := make([]int, (len(arr) - 1)) k := 0 for i := 0; i < (len(arr) - 1); { if i != pos { new_arr[i] = arr[k] k++ i++ } else { k++ } } for i := 0; i < (len(arr) - 1); i++ …
111 go 

2
Go'da bir 2B dilim oluşturmanın kısa yolu nedir?
A Tour of Go'dan geçerek Go öğreniyorum . Oradaki alıştırmalardan biri benden, aşağıdakileri içeren 2B dysatır ve dxsütun dilimi oluşturmamı istiyor.uint8 . İşe yarayan mevcut yaklaşımım şudur: a:= make([][]uint8, dy) // initialize a slice of dy slices for i:=0;i<dy;i++ { a[i] = make([]uint8, dx) // initialize a slice of dx …
111 go  slice 

3
Go'nun neden "git" ifadesi var?
Go'nun bir 'git' ifadesine sahip olduğunu görünce şaşırdım . Bana her zaman 'goto' ifadelerinin geçmişte kaldığı ve bir programın gerçek akışını tıkadığı için kötü olduğu ve işlevlerin veya yöntemlerin akışı kontrol etmenin daha iyi bir yolu olduğu öğretildi. Bir şey kaçırıyor olmalıyım. Google bunu neden dahil etti?
110 go  goto 

5
Tek değerli bağlamda birden çok değer
Go'daki hata işleme nedeniyle, genellikle birden çok değer işleviyle karşılaşıyorum. Şimdiye kadar, bunu yönetme şeklim çok karmaşıktı ve daha temiz kod yazmak için en iyi uygulamaları arıyorum. Diyelim ki aşağıdaki işleve sahip olduğumu: type Item struct { Value int Name string } func Get(value int) (Item, error) { // some …

7
Boş bir yapı nasıl kontrol edilir?
Bir yapı tanımlıyorum ... type Session struct { playerId string beehive string timestamp time.Time } Bazen boş bir oturum atarım (çünkü nil mümkün değildir) session = Session{}; Sonra boş olup olmadığını kontrol etmek istiyorum: if session == Session{} { // do stuff... } Açıkçası bu işe yaramıyor. Nasıl yazacağım?
110 struct  go 

10
Go neden bu kadar yavaş (Java'ya kıyasla)?
2010'da The Computer Language Benchmarks Game'de görebileceğimiz gibi : Go, C'den ortalama 10 kat daha yavaştır Git daha yavaş 3x olan Java !? Go derleyicisinin yürütme için yerel kod ürettiğini göz önünde bulundurarak bu nasıl olabilir? Go için olgunlaşmamış derleyiciler mi? Veya Go diliyle ilgili bazı temel sorunlar mı var? …

12
Go dili ile bir UUID oluşturmak için bir yöntem var mı
Şuna benzeyen kodum var: 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) 32 uzunluğunda bir dize döndürür, …
109 go  uuid 

13
Go get kullanarak bir paketin belirli bir sürümünü nasıl içe aktarırım?
Bir Nodeortamdan geliyorum , bir satıcı kütüphanesinin belirli bir sürümünü proje klasörüne ( node_modules) npm, o kütüphanenin bu sürümünü package.jsonkonsoldan veya hatta doğrudan konsoldan yüklemeyi söyleyerek kuruyordum, şöyle: $ npm install express@4.0.0 Daha sonra bu paketin bu sürümünü projemde yalnızca şununla içe aktarırdım: var express = require('express'); Şimdi aynı şeyi …

11
Hata İşleme Tekniklerine Git [kapalı]
Kapalı . Bu soru fikir temelli . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek mi istiyorsunuz? Bu yazıyı düzenleyerek gerçekler ve alıntılarla cevaplanabilmesi için soruyu güncelleyin . 12 ay önce kapandı . Bu soruyu geliştirin Go ile yeni başlıyorum. Kodum bundan çok şey almaya başlıyor: if err != nil …
108 go 

3
Sync.WaitGroup için örnek doğru mu?
Bu örnek kullanım sync.WaitGroupdoğru mu? Beklenen sonucu verir, ancak wg.Add(4)konumu ve konumu konusunda emin değilim wg.Done(). Dört gorutini aynı anda eklemek mantıklı mı 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 background, duration:", duration) …
108 go  goroutine 


11
Günlük dosyaya nasıl yazılır
Go ile bir günlük dosyasına yazmaya çalışıyorum. Hepsi başarısız olan birkaç yaklaşım denedim. Bu denediğim şey: 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 log.SetOutput(io.Writer(f)) log.Println("hello, …
108 go  logging 

2
Değer alıcısı ve işaretçi alıcısı
Benim için çok net değil, bu durumda her zaman bir işaretçi alıcı kullanmak yerine bir değer alıcısı kullanmak isterdim. Dokümanlardan özetlemek için: type T struct { a int } func (tv T) Mv(a int) int { return 0 } // value receiver func (tp *T) Mp(f float32) float32 { return …
108 function  pointers  go 

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.