Golang'da, seyahat eden satıcı problemim için bir karıştırma dilimi işlevi yapmaya çalışıyorum. Yaptığım dilimi düzenlemeye başladığımda fark ettim ki, her defasında, scramble işlevi farklıydı.Golang dilimleri değere mi geçiyor?
Bazı hata ayıklama işleminden sonra, dilimin fonksiyonun içinde düzenlenmesinden kaynaklandığını öğrendim. Ancak Golang'ın "değerden geçmek" dilinden olması gerektiğinden, bu nasıl mümkün olabilir?
https://play.golang.org/p/mMivoH0TuV
Ben ne demek istediğimi göstermek için oyun alanı bağlantısını sağladık. Satır 27'yi çıkararak, onu bırakmaktan farklı bir çıktı elde edersiniz, bu işlev, bir argüman olarak iletildiğinde dilimin kendi kopyasını oluşturması gerektiği için bir fark yaratmamalıdır.
Birisi fenomeni açıklayabilir mi?
böylece olur bir çözüm Dilimin yerel bir kopyasını işlev içinde yapmak. ve bunun yerine düzenleme mi? – duck
@ user4901806 Geçilen dilimin elemanlarını değiştirmek istemiyorsanız (destek dizisinin öğeleri işaret eder), evet, bir kopya oluşturun. – icza
Bunun bir öğe eklersek, orijinal dilime eklenmeyeceği anlamına gelir. – Sahas