From 7b53bb94559c762be59f9d00132f67a8876f562d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Martins?= Date: Sun, 31 Jan 2016 03:18:33 +0000 Subject: [PATCH] added the String method to Result type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: André Martins --- pkg/types/types.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pkg/types/types.go b/pkg/types/types.go index 6ae4a644..6948dcb1 100644 --- a/pkg/types/types.go +++ b/pkg/types/types.go @@ -16,6 +16,7 @@ package types import ( "encoding/json" + "fmt" "net" "os" ) @@ -75,6 +76,20 @@ func (r *Result) Print() error { return prettyPrint(r) } +// String returns a formatted string in the form of "[IP4: $1,][ IP6: $2,] DNS: $3" where +// $1 represents the receiver's IPv4, $2 represents the receiver's IPv6 and $3 the +// receiver's DNS. If $1 or $2 are nil, they won't be present in the returned string. +func (r *Result) String() string { + var str string + if r.IP4 != nil { + str = fmt.Sprintf("IP4:%+v, ", *r.IP4) + } + if r.IP6 != nil { + str += fmt.Sprintf("IP6:%+v, ", *r.IP6) + } + return fmt.Sprintf("%sDNS:%+v", str, r.DNS) +} + // IPConfig contains values necessary to configure an interface type IPConfig struct { IP net.IPNet