¿Cómo crear e imprimir cortes multidimensionales en Golang?

Slice es una secuencia de longitud variable que almacena elementos de un tipo similar, no está permitido almacenar diferentes tipos de elementos en el mismo segmento. Es como una array que tiene un valor de índice y una longitud, pero el tamaño del segmento cambia de tamaño, no tienen un tamaño fijo como una array. Internamente, un segmento y un arreglo están conectados entre sí, un segmento es una referencia a un arreglo subyacente. Se permite almacenar elementos duplicados en el segmento. La primera posición del índice en un segmento siempre es 0 y la última será (longitud del segmento – 1).

El segmento multidimensional es como la array multidimensional, excepto que el segmento no contiene el tamaño.

Ejemplo:

// Golang program to illustrate
// the multi-dimensional slice
package main
  
import "fmt"
  
func main() {
  
    // Creating multi-dimensional slice
    s1 := [][]int{
        {1, 2},
        {3, 4},
        {5, 6},
        {7, 8},
    }
  
    // Accessing multi-dimensional slice
    fmt.Println("Slice 1 : ", s1)
  
    // Creating multi-dimensional slice
    s2 := [][]string{
        []string{"str1", "str2"},
        []string{"str3", "str4"},
        []string{"str5", "str6"},
    }
  
    // Accessing multi-dimensional slice
    fmt.Println("Slice 2 : ", s2)
  
    // Printing every slice inside s2
    fmt.Println("MultiDimensional Slice s2:")
    for i := 0; i < len(s2); i++ {
        fmt.Println(s2[i])
    }
  
    // Printing elements in slice as matrix
    fmt.Println("Slice s2 Like Matrix:")
  
    // number of rows in s2
    n := len(s2)
  
    // number of columns in s2
    m := len(s2[0])
    for i := 0; i < n; i++ {
        for j := 0; j < m; j++ {
            fmt.Print(s2[i][j] + " ")
        }
        fmt.Print("\n")
    }
}

Producción:

Slice 1 :  [[1 2] [3 4] [5 6] [7 8]]
Slice 2 :  [[str1 str2] [str3 str4] [str5 str6]]
MultiDimensional Slice s2:
[str1 str2]
[str3 str4]
[str5 str6]
Slice s2 Like Matrix:
str1 str2 
str3 str4 
str5 str6 

Publicación traducida automáticamente

Artículo escrito por Mayank Rana 1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *