Skip to content

Instantly share code, notes, and snippets.

@clemherreman
Created January 28, 2015 12:30
Show Gist options
  • Save clemherreman/56170c7e6ddc58afd6e4 to your computer and use it in GitHub Desktop.
Save clemherreman/56170c7e6ddc58afd6e4 to your computer and use it in GitHub Desktop.
Go casting byte to string
package main
import "fmt"
type IPAddr [4]byte
func (i IPAddr) String() string {
return string(i[0]) // Returns an empty string
return fmt.Sprintf("%v.%v.%v.%v", i[0], i[1], i[2], i[3]) // Only way to cast byte to string is through Sprintf
}
func main() {
addrs := map[string]IPAddr{
"loopback": {127, 0, 0, 1},
"googleDNS": {8, 8, 8, 8},
}
for n, a := range addrs {
fmt.Printf("%v: %v\n", n, a)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment