// Copyright © 2018 Inanc Gumus // Learn Go Programming Course // License: https://creativecommons.org/licenses/by-nc-sa/4.0/ // // For more tutorials : https://learngoprogramming.com // In-person training : https://www.linkedin.com/in/inancgumus/ // Follow me on twitter: https://twitter.com/inancgumus package main import ( "fmt" ) // --------------------------------------------------------- // EXERCISE: Fix the backing array problem // // Ensure that changing the elements of the `mine` slice // does not change the elements of the `nums` slice. // // // CURRENT OUTPUT (INCORRECT) // // Mine : [-50 -100 -150 25 30 50] // Original nums: [-50 -100 -150] // // // EXPECTED OUTPUT // // Mine : [-50 -100 -150] // Original nums: [56 89 15] // // --------------------------------------------------------- func main() { // DON'T TOUCH THE FOLLOWING CODE nums := []int{56, 89, 15, 25, 30, 50} // ---------------------------------------- // ONLY ADD YOUR CODE HERE // // Ensure that nums slice never changes even though // the mine slice changes. mine := nums // ---------------------------------------- // DON'T TOUCH THE FOLLOWING CODE // // This code changes the elements of the nums // slice. // mine[0], mine[1], mine[2] = -50, -100, -150 fmt.Println("Mine :", mine) fmt.Println("Original nums:", nums[:3]) }