Skip to content

Instantly share code, notes, and snippets.

@jftuga
Created March 13, 2019 00:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jftuga/e67f1ad183ef05d3b094a6cd8fa74d1f to your computer and use it in GitHub Desktop.
Save jftuga/e67f1ad183ef05d3b094a6cd8fa74d1f to your computer and use it in GitHub Desktop.
two dimensional slice in Go
package main
import (
"fmt"
"os"
"strconv"
)
func main() {
var a []string
a= make([]string,21)
a[0] = "zero"
a[1] = "one"
a[2] = "two"
a[3] = "three"
a[4] = "four"
a[5] = "five"
a[6] = "six"
a[7] = "seven"
a[8] = "eight"
a[9] = "nine"
a[10] = "ten"
/*
a[11] = "eleven"
a[12] = "twelve"
a[13] = "thirteen"
a[14] = "fourteen"
a[15] = "fifteen"
a[16] = "sixteen"
a[17] = "seventeen"
a[18] = "eightteen"
a[19] = "nineteen"
a[20] = "twenty"
*/
// n=rows, m=cols
n,_:= strconv.Atoi(os.Args[1])
m,_:= strconv.Atoi(os.Args[2])
frame := make([][]string, n)
rows := make([]string, n*m)
for i := 0; i < n; i++ {
frame[i] =rows[i*m : (i+1)*m]
}
d := 0
for i:= 0; i < n; i++ {
if(d == len(a)) {
break
}
//fmt.Println("i:", i)
for j:= 0; j < m; j++ {
//fmt.Println("i, j, d:", i, j, a[d])
frame[i][j] = a[d]
d += 1
if(d == len(a)) {
break
}
}
}
fmt.Println()
fmt.Println()
for i:= 0; i < n; i++ {
fmt.Println(frame[i])
}
fmt.Println()
fmt.Println("===================================================")
fmt.Println()
d = 0
for j:= 0; j < m; j++ {
if(d == len(a)) {
break
}
//fmt.Println("j:", j)
for i:= 0; i < n; i++ {
//fmt.Println("i, j, d:", i, j, a[d])
frame[i][j] = a[d]
d += 1
if(d == len(a)) {
break
}
}
}
fmt.Println()
fmt.Println()
for i:= 0; i < n; i++ {
fmt.Println(frame[i])
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment