Siparişe bağlı olan birden fazla defer
bildirimi oluşturmak veya mantığı paketleyen bir anonim işlevini ertelemek daha güvenli veya daha idiomatik mi?Birden çok erteleme vs ertelenmiş anonim işlev
Örnekler: sözdizimi Yukarıdaki durumda
defer os.Remove(tempFile.Name())
defer tempFile.Close()
az, henüz ertelemektedir sırası yürütülecek mantığa tersinedir.
defer func() {
tempFile.Close()
os.Remove(tempFile.Name())
}()
hangisi kullanmak: durumunda aşağıda orada daha fazla satır, daha "sözdizimi", ama mantık daha doğal bir sırada bulunuyor ise
?
Sadece küçük bir not (tam bir cevaba değil) 'defer' performansa sahip. Bu son derece küçük (go1.5.1 linux/amd64 üzerinde benim testlerime göre ~ 75 ns) ve muhtemelen dikkate değer değil, ama yine de not edilmelidir. – HectorJ