在Golang中,我試圖為我的旅行推銷員問題創建一個加擾切片函數。這樣做時,我注意到當我開始編輯切片時,每次傳遞時,我賦予的加密功能都是不同的。經過一些調試后,我發現這是由于我在函數內部編輯了切片。但是既然Golang被認為是一種“價值傳遞”的語言,那怎么可能呢?https://play.golang.org/p/mMivoH0TuV我提供了一個游樂場鏈接來顯示我的意思。通過刪除第27行,您獲得的輸出與留在其中的輸出將有所不同,這應該不會有所不同,因為該函數在作為參數傳入時應該具有自己的切片副本。有人可以解釋這種現象嗎?
Golang切片是否按值傳遞?
慕尼黑8549860
2019-11-02 10:00:35