]> Cypherpunks repositories - gostls13.git/commitdiff
net: add examples for ParseIP, IP.DefaultMask & IP.Mask
authorRob Phoenix <rob@robphoenix.com>
Fri, 19 May 2017 14:18:17 +0000 (15:18 +0100)
committerMikio Hara <mikioh.mikioh@gmail.com>
Mon, 22 May 2017 09:35:42 +0000 (09:35 +0000)
Further examples to support the net package.

Updates #5757

Change-Id: I9b65521d211f6c404b9103c1eaf22b0772eb242e
Reviewed-on: https://go-review.googlesource.com/43711
Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com>
src/net/example_test.go

index 979d8170aaea0b5c0825a9244bd8b7077c97a461..f8f10e3509c447fca4f77c4870dc8b7e459ad5da 100644 (file)
@@ -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
+       // <nil>
+}
+
+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))