Print values of Array or slice in Golang example

In these examples, You will learn different ways to print/display array or slice elements to console in Go Language.

The following programs are covered.

  • Print Array using For Loop with range
  • Display Slice using PrintF function format
  • Array slice console print without Square brackets([])
  • Print the Address or pointer of an array
  • Print Slice of bytes in Binary Form

To understand this example, You should have the following features in the Go language.

Example program: Print an Array or slice using For loop with range

In the below program,

Declared slice and array and initialize values using the shorthand assignment operator.

For a loop with a range, the form uses to iterate the elements of an array or slice.

Each iteration has a value and prints the values to the console using the Printf function with formatting options( %d for int, %s for strings).

Following is a code for print a slice using for loop in golang.

package main
import "fmt"

func main() {

    slice: = [] int {
        1, 2, 3
    }
    array: = [5] string {
        "one", "two", "three", "four", "five"
    }

        for _,
    value: = range slice {
        fmt.Printf("%d\n", value)
    }
    for _,
    str: = range array {
        fmt.Printf("%s\n", str)
    }
}

The above program output is

1
2
3
one
two
three
four
five

Example program2: Display Array or slice elements using Printf function

In this program, Array or slice is printed to the console using the fmt Printf function with format strings.

Printf Format Strings for Displaying Array or Slice
For example, Array or slice contains {“one”, “two”, “three”}.

We will see different ways of printing values.

  • %v - value in default format ie [one two three]
  • %+v - Value in default format + Displays sign for numerics - [one two three]
  • %#v - Data values in Go Styles - []string{“one”, “two”, “three”}
  • %+q - For Numerics, Displays ASCII code - [‘\x01’ ‘\x02’ ‘\x03’ ‘\x05’ ‘\f’], Others default format - [“one” “two” “three”]

You can check more printf options🔗

Here is an example display array or slice values to console

package main
import "fmt"

func main() {
    sliceStrings: = [] string {
        "one", "two", "three"
    }
    arrayInt: = [5] int {
        1, 2, 3, 5, 12
    }

    // Print slice to console
        fmt.Printf("%v\n", sliceStrings)
    fmt.Printf("%+v\n", sliceStrings)
    fmt.Printf("%#v\n", sliceStrings)
    fmt.Printf("%+q\n", sliceStrings)
    // Print array to console
    fmt.Printf("%v\n", arrayInt)
    fmt.Printf("%+v\n", arrayInt)
    fmt.Printf("%#v\n", arrayInt)
    fmt.Printf("%+q\n", arrayInt)

}

Output:

[one two three]  
[one two three]  
[]string{"one", "two", "three"}  
["one" "two" "three"]  
[1 2 3 5 12]  
[1 2 3 5 12]  
[5]int{1, 2, 3, 5, 12}  
['\x01' '\x02' '\x03' '\x05' '\f']

Example Program 3 to Print Array or slices without Squrebrackets

As you see in the above program, the Printing array or slice to the console contains values wrapped inside Square brackets. Another way, We have to use fmt.Sprint function to remove square brackets from the output. and the result is trimmed using the strings Trim() function.

Here is an example program to print an array or slice to the console without square brackets([])

package main
import (
    "fmt"
    "strings"
)

func main() {
    sliceStrings: = [] string {
        "one", "two", "three"
    }
    arrayInt: = [5] int {
        1, 2, 3, 5, 12
    }

    // Print slice without squrebrackets to console
        fmt.Println(strings.Trim(fmt.Sprint(sliceStrings), "[]"))

    // Print array without squrebrackets to console
        fmt.Println(strings.Trim(fmt.Sprint(arrayInt), "[]"))

}

Output:

one two three  
1 2 3 5 12

Example Program 4 Print address or pointer of array/slice

In Golang, Creating an Array or slice variable involves location or address in memory.

To check the address of an array or slice, we have to use &(ampersand) and array/slice variable name
Here is an example program for printing the pointer of an array

package main

import (
    "fmt"
)

func main() {
    sliceStrings: = [] string {
        "one", "two", "three"
    }
    arrayInt: = [5] int {
        1, 2, 3, 5, 12
    }
    fmt.Printf("Pointer or address of slice %p add array %p \n", & sliceStrings, & arrayInt)

}

Output:

Pointer or address of slice 0xc00004a400 add array 0xc000076030

Example Program 5 Print Array or slice bytes in binary bits form

Here is a sequence of steps to print binary data from an Array or Slice of data.

  • Declared Byte slice
  • using for loop Print the binary form using Printf with %08b format
package main
import (
    "fmt"
)

func main() {

    byteArray: = [] byte {
        25, 1
    }
    for _,
    value: = range byteArray {
        fmt.Printf("%08b", value)
    }

}

Output:

0001100100000001

Conclusion

In this tutorial, You learned multiple examples and ways to iterate and display array and slice using fmt printf for loop and print the address and bytes.