36 lines
781 B
Go
36 lines
781 B
Go
// For more tutorials: https://blog.learngoprogramming.com
|
|
//
|
|
// Copyright © 2018 Inanc Gumus
|
|
// Learn Go Programming Course
|
|
// License: https://creativecommons.org/licenses/by-nc-sa/4.0/
|
|
//
|
|
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"math/rand"
|
|
"time"
|
|
)
|
|
|
|
func main() {
|
|
rand.Seed(time.Now().UnixNano())
|
|
nums := rand.Perm(100)
|
|
|
|
// ----------------------------------------
|
|
// breaks the connection:
|
|
// mine and nums now have different backing arrays
|
|
|
|
// verbose solution:
|
|
// var mine []int
|
|
// mine = append(mine, nums[:3]...)
|
|
|
|
// better solution (almost the same thing):
|
|
mine := append([]int(nil), nums[:3]...)
|
|
// ----------------------------------------
|
|
|
|
mine[0], mine[1], mine[2] = -50, -100, -150
|
|
fmt.Println("Mine :", mine)
|
|
fmt.Println("Original nums:", nums[:3])
|
|
}
|