In this tutorial, we are going to learn about IsLinkLocalUnicast() function of net package in go with example.
IsLinkLocalUnicast() function is used to check whether ip is a link-local unicast address or not of net package in go.
function prototype:
func (ip IP) IsLinkLocalUnicast() bool Function returns true if ip is a link-local unicast address else false.
Example:
package main
import (
"fmt"
"net"
)
func main() {
ipv4_ip := net.ParseIP("169.254.0.0")
is_link_local_unicast := ipv4_ip.IsLinkLocalUnicast()
if is_link_local_unicast == true {
fmt.Println("169.254.0.0 is a link-local unicast address.")
} else {
fmt.Println("169.254.0.0 is not a link-local unicast address.")
}
ipv4_ip = net.ParseIP("224.0.0.0")
is_link_local_unicast = ipv4_ip.IsLinkLocalUnicast()
if is_link_local_unicast == true {
fmt.Println("224.0.0.0 is a link-local unicast address.")
} else {
fmt.Println("224.0.0.0 is not a link-local unicast address.")
}
ipv6_ip := net.ParseIP("ff02::2")
is_link_local_unicast = ipv6_ip.IsLinkLocalUnicast()
if is_link_local_unicast == true {
fmt.Println("ff02::2 is a link-local unicast address.")
} else {
fmt.Println("ff02::2 is not a link-local unicast address.")
}
ipv6_ip = net.ParseIP("fe80::")
is_link_local_unicast = ipv6_ip.IsLinkLocalUnicast()
if is_link_local_unicast == true {
fmt.Println("fe80:: is a link-local unicast address.")
} else {
fmt.Println("fe80:: is not a link-local unicast address.")
}
}
Output:
169.254.0.0 is a link-local unicast address. 224.0.0.0 is not a link-local unicast address. ff02::2 is not a link-local unicast address. fe80:: is a link-local unicast address.
What is Link-Local Unicast Address ?
A link-local address is a unicast address that is confined to a single link and a single subnet. Link-local addresses only need to be unique on the link (subnet) and do not need to be unique beyond the link. Therefore, routers do not forward packets with a link-local address
To learn more about golang, Please refer given below link:
https://techieindoor.com/go-lang-tutorial/
References: https://golang.org/pkg/