Hangi sürümü kullanıyorsunuz (go sürüm)? https://play.golang.orgNeden "const true = false" izinli?
Ne yaptın?
package main import "fmt" const true = false func main() { if (true == false) { fmt.Println("True equals to false") } fmt.Println("Hello World") }
https://play.golang.org/p/KwePsmQ_q9
- Ne görmek bekliyordun :
Zaten önceden tanımlanmış adla sabit oluşturduğum ve potansiyel olarak tüm uygulamayı kırdığımız hata veya uyarı iletisi.
- Bunun yerine ne gördünüz?
Sorunsuz çalışıyor. Önceden tanımlanmış isimle yeni sabit oluşturmayı önlemek için herhangi bir uyarı veya hiçbir şey.
Komik şey. "Var true = false" aynı sonucu verir. Ama bir paket veya ithalat bildirmeye çalıştığımda bu hatayı alıyorum: "prog.go: 6: sözdizimi hatası: beklenmeyen bir paket, ad bekliyor prog.go: 6: ad bildiremezsiniz" – Vityata
Olası yinelenen [Neden vardır?] 've' anahtar kelimeleri rezerve etmeyin? '(http://stackoverflow.com/questions/31987772/why-are-new-and-make-not-reserved-keywords)' Yeni 've' make 'hakkında sorular sorar. ama 'true' aynı zamanda cevapların burada da geçerli olmasını sağlayan [önceden tanımlanmış bir tanımlayıcıdır] (https://golang.org/ref/spec#Predeclared_identifiers). – icza
Doğru veya yanlış anahtar kelimeler (https://golang.org/ref/spec#Keywords) ancak önceden tanımlanmış tanımlayıcılar (https://golang.org/ref/spec#Predeclared_identifiers) ve bunların iyi olduğunu ve nasıl çalıştığını yeniden tanımlarsınız tüm dil. – Volker