Empty interface in Go

package main

import (  
    "fmt"
)

func printValue(i interface{}) {  
    fmt.Printf("Type = %T, value = %v\n", i, i)
}

func main() {  
    s := "Narayana Hello"
    printValue(s)
    i := 89
    printValue(i)
}


output :
Type = string, value = Narayana Hello
Type = int, value = 89