1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package types
import (
"fmt"
"slices"
)
type Devices []Device
func (devices Devices) Get(macAddr string) (Device, error) {
index := devices.GetIndex(macAddr)
if index == -1 {
return Device{}, fmt.Errorf("Faild to get device:", macAddr)
}
return devices[index], nil
}
func (devices Devices) GetIndex(macAddr string) int {
return slices.IndexFunc(devices, func(device Device) bool {
return device.Address == macAddr
})
}