HOME/Articles/

slicing-in-go

Article Outline

In <a href="https://golang.org">Go</a> you can easily slice <a href="https://golangr.com/strings/">strings</a> or <a href="https://medium.com/rungo/the-anatomy-of-arrays-in-go-24429e4491b7">arrays</a>. As the name implies, a slice is a subset of the whole.

This is unlike C where you would have to use strcpy or other tricks to slice a string. (this is a lot of work)

Not so in Golang, to take a slice is much easier.

String slice in Go

You can slice a string simply by using brackets and start and end index, as if you were using Python.

The format to slice is:

a[low : high]

So to slice from 1 to 3, you would use

a[1:4]

A string slice example is shown below. First a string (st) is defined. Then it's sliced and given as input to the Println function:

package main

import "fmt"

func main() {
    st := "Hello World"
    fmt.Println(st[1:3])
}

If you run the program it will output a slice of the string st:

el

Program exited.

To grab the first word, use st[0:5]. You can do this for arrays too!

package main

import "fmt"

func main() {
    primes := [6]int{2, 3, 5, 7, 11, 13}

    var s []int = primes[1:4]
    fmt.Println(s)
}

Here we define an array of primes and then take a slice out of that. That slice is stored as a new variable and shown to the screen.