我正在寻找一个如何在Go中生成MAC地址的示例。 我发现了很多关于创建UUID但没有关于MAC地址的例子。
有人可以帮忙吗?
谢谢, 本
答案 0 :(得分:9)
我会这样做(playground)
import (
"crypto/rand"
"fmt"
)
func main() {
buf := make([]byte, 6)
_, err := rand.Read(buf)
if err != nil {
fmt.Println("error:", err)
return
}
// Set the local bit
buf[0] |= 2
fmt.Printf("Random MAC address: %02x:%02x:%02x:%02x:%02x:%02x\n", buf[0], buf[1], buf[2], buf[3], buf[4], buf[5])
}
请注意本地位的设置,这意味着它不会与任何全局管理的地址冲突(see wikipedia for more info)