How to use slice data type in Go

9 Answers

0 votes
package main
 
import (
    "fmt"
)
 
func main() {
 	sl := make([]string, 4)
    
	fmt.Println(sl)
	
	sl[0] = "g"
    sl[1] = "o"
    sl[2] = "l"
	sl[3] = "a"
    fmt.Println(sl)
    fmt.Println(sl[0])
	
	fmt.Println(len(sl))
	
	sl = append(sl, "n")
    sl = append(sl, "g", ".")
    fmt.Println(sl)
	
	fmt.Println(len(sl))

}
 
 
 
/*
run:
 
[   ]
[g o l a]
g
4
[g o l a n g .]
7

*/

 



answered Feb 22, 2020 by avibootz
0 votes
package main
 
import (
    "fmt"
)
 
func main() {
 	sl := make([]string, 2)
	
	fmt.Println(len(sl))
	
    sl = append(sl, "g", "o", "l", "a", "n", "g")
    fmt.Println(sl)
	fmt.Println(len(sl))
}
 
 
 
/*
run:
 
2
[  g o l a n g]
8

*/

 



answered Feb 22, 2020 by avibootz
0 votes
package main
 
import (
    "fmt"
)
 
func main() {
 	sl := make([]string, 2)
	
	fmt.Println(len(sl))
	
	sl[0] = "A"
	sl[1] = "B"
    sl = append(sl, "g", "o", "l", "a", "n", "g")
    fmt.Println(sl)
	fmt.Println(len(sl))
}
 
 
 
/*
run:
 
2
[  g o l a n g]
8

*/

 



answered Feb 22, 2020 by avibootz
0 votes
package main
 
import (
    "fmt"
)
 
func main() {
 	sl := make([]string, 1)
	
	fmt.Println(len(sl))
	
	sl[0] = "+"
    sl = append(sl, "g", "o", "l", "a", "n", "g")
    fmt.Println(sl)
	fmt.Println(len(sl))
	
	sl2 := make([]string, len(sl))
    copy(sl2, sl)
    fmt.Println(sl2)
	fmt.Println(len(sl2))
}
 
 
 
/*
run:
 
1
[+ g o l a n g]
7
[+ g o l a n g]
7

*/

 



answered Feb 22, 2020 by avibootz
0 votes
package main
  
import (
    "fmt"
)
  
func main() {
    sl := make([]string, 1)
     
    fmt.Println(len(sl))
     
    sl[0] = "+"
    sl = append(sl, "g", "o", "l", "a", "n", "g", "p", "r", "o", "g", "r", "a", "m")
    fmt.Println(sl)
    fmt.Println(len(sl))
     
    sl2 := sl[3:7]
    fmt.Println(sl2)
	fmt.Println(len(sl2))
}
  
  
  
/*
run:
  
1
[+ g o l a n g p r o g r a m]
14
[l a n g]
4
 
*/

 



answered Feb 22, 2020 by avibootz
0 votes
package main
 
import (
    "fmt"
)
 
func main() {
 	sl := make([]string, 1)
	
	fmt.Println(len(sl))
	
	sl[0] = "+"
    sl = append(sl, "g", "o", "l", "a", "n", "g", "p", "r", "o", "g", "r", "a", "m")
    fmt.Println(sl)
	fmt.Println(len(sl))
	
	sl2 := sl[:7]
    fmt.Println(sl2)
	fmt.Println(len(sl2))
}
 
 
 
/*
run:
 
1
[+ g o l a n g p r o g r a m]
14
[+ g o l a n g]
7

*/

 



answered Feb 22, 2020 by avibootz
0 votes
package main
  
import (
    "fmt"
)
  
func main() {
    sl := make([]string, 1)
     
    fmt.Println(len(sl))
     
    sl[0] = "+"
    sl = append(sl, "g", "o", "l", "a", "n", "g", "p", "r", "o", "g", "r", "a", "m")
    fmt.Println(sl)
    fmt.Println(len(sl))
     
    sl2 := sl[6:]
    fmt.Println(sl2)
	fmt.Println(len(sl2))
}
  
  
  
/*
run:
  
1
[+ g o l a n g p r o g r a m]
14
[g p r o g r a m]
8

*/

 



answered Feb 22, 2020 by avibootz
0 votes
package main
  
import (
    "fmt"
)
  
func main() {
    sl := []string{"g", "o", "l", "a", "n", "g", "p", "r", "o", "g", "r", "a", "m"}
	
    fmt.Println(sl)
	fmt.Println(len(sl))
}
  
  
  
/*
run:
  
[g o l a n g p r o g r a m]
13

*/

 



answered Feb 22, 2020 by avibootz
0 votes
package main
  
import (
    "fmt"
)
  
func main() {
	sl2D := make([][]int, 4)
    for i := 0; i < 4; i++ {
        inner_slices_len := i + 2
        sl2D[i] = make([]int, inner_slices_len)
        for j := 0; j < inner_slices_len; j++ {
            sl2D[i][j] = i + j
        }
    }
	
    fmt.Println(sl2D)
    fmt.Println(sl2D[0][0])
	fmt.Println(sl2D[1][0])
	
	fmt.Println(len(sl2D))
	fmt.Println(len(sl2D[0]))
	fmt.Println(len(sl2D[1]))
}
  
  
  
/*
run:
  
[[0 1] [1 2 3] [2 3 4 5] [3 4 5 6 7]]
0
1
4
2
3

*/

 



answered Feb 22, 2020 by avibootz

Related questions

3 answers 417 views
1 answer 111 views
1 answer 177 views
177 views asked Aug 27, 2020 by avibootz
2 answers 272 views
272 views asked Aug 27, 2020 by avibootz
1 answer 170 views
170 views asked Mar 14, 2020 by avibootz
2 answers 261 views
...