From 4bf6c566d31ab46c5a9123708fb3585e621b2557 Mon Sep 17 00:00:00 2001 From: Rob Phoenix Date: Fri, 19 May 2017 15:18:17 +0100 Subject: [PATCH] net: add examples for ParseIP, IP.DefaultMask & IP.Mask Further examples to support the net package. Updates #5757 Change-Id: I9b65521d211f6c404b9103c1eaf22b0772eb242e Reviewed-on: https://go-review.googlesource.com/43711 Reviewed-by: Mikio Hara --- src/net/example_test.go | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/src/net/example_test.go b/src/net/example_test.go index 979d8170aa..f8f10e3509 100644 --- a/src/net/example_test.go +++ b/src/net/example_test.go @@ -65,6 +65,41 @@ func ExampleParseCIDR() { // 2001:db8::/32 } +func ExampleParseIP() { + fmt.Println(net.ParseIP("192.0.2.1")) + fmt.Println(net.ParseIP("2001:db8::68")) + fmt.Println(net.ParseIP("192.0.2")) + + // Output: + // 192.0.2.1 + // 2001:db8::68 + // +} + +func ExampleIP_DefaultMask() { + ip := net.ParseIP("192.0.2.1") + fmt.Println(ip.DefaultMask()) + + // Output: + // ffffff00 +} + +func ExampleIP_Mask() { + ipv4Addr := net.ParseIP("192.0.2.1") + // This mask corresponds to a /24 subnet for IPv4. + ipv4Mask := net.CIDRMask(24, 32) + fmt.Println(ipv4Addr.Mask(ipv4Mask)) + + ipv6Addr := net.ParseIP("2001:db8:a0b:12f0::1") + // This mask corresponds to a /32 subnet for IPv6. + ipv6Mask := net.CIDRMask(32, 128) + fmt.Println(ipv6Addr.Mask(ipv6Mask)) + + // Output: + // 192.0.2.0 + // 2001:db8:: +} + func ExampleCIDRMask() { // This mask corresponds to a /31 subnet for IPv4. fmt.Println(net.CIDRMask(31, 32)) -- 2.48.1