12345678910111213141516171819202122232425262728293031323334353637383940 |
- // Copyright 2017 gf Author(https://github.com/gogf/gf). All Rights Reserved.
- //
- // This Source Code Form is subject to the terms of the MIT License.
- // If a copy of the MIT was not distributed with this file,
- // You can obtain one at https://github.com/gogf/gf.
- //
- package gipv4
- import (
- "net"
- )
- // GetMac retrieves and returns the first mac address of current host.
- func GetMac() (mac string, err error) {
- macs, err := GetMacArray()
- if err != nil {
- return "", err
- }
- if len(macs) > 0 {
- return macs[0], nil
- }
- return "", nil
- }
- // GetMacArray retrieves and returns all the mac address of current host.
- func GetMacArray() (macs []string, err error) {
- netInterfaces, err := net.Interfaces()
- if err != nil {
- return nil, err
- }
- for _, netInterface := range netInterfaces {
- macAddr := netInterface.HardwareAddr.String()
- if len(macAddr) == 0 {
- continue
- }
- macs = append(macs, macAddr)
- }
- return macs, nil
- }
|