How to clone a two-dimensional array in Go

1 Answer

0 votes
package main

import "fmt"

func clone2DArray(arr2D [][]int) [][]int {
    // Create a new 2D array with the same dimensions as the original
    cloned := make([][]int, len(arr2D))
    
    for i := range arr2D {
        cloned[i] = make([]int, len(arr2D[i]))
        copy(cloned[i], arr2D[i])
    }
    
    return cloned
}

func main() {
    arr2D := [][]int{
        {1, 2, 3, 0},
        {4, 5, 6, 77},
        {7, 8, 9, 31},
    }

    // Clone the 2D array
    cloned := clone2DArray(arr2D)

    fmt.Println("Original array:", arr2D)
    fmt.Println("Cloned array:", cloned)
}


/*
run:

Original array: [[1 2 3 0] [4 5 6 77] [7 8 9 31]]
Cloned array: [[1 2 3 0] [4 5 6 77] [7 8 9 31]]

*/

 



answered Mar 8, 2025 by avibootz

Related questions

1 answer 134 views
1 answer 147 views
2 answers 235 views
235 views asked Aug 27, 2020 by avibootz
1 answer 195 views
2 answers 272 views
272 views asked Aug 27, 2020 by avibootz
1 answer 160 views
...