1234567891011121314151617181920212223242526272829303132333435 |
- package common
- import (
- "fmt"
- "math"
- "net"
- )
- // GetLocalIP 获取本地内网IP地址
- func GetLocalIP() (string, error) {
- adders, err := net.InterfaceAddrs()
- if err != nil {
- return "", err
- }
- for _, addr := range adders {
- if ipnet, ok := addr.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {
- if ipnet.IP.To4() != nil {
- return ipnet.IP.String(), nil
- }
- }
- }
- return "", fmt.Errorf("unable to determine local ip")
- }
- // SplitPower 多维权限拆解
- // xyz【1需要 0 不需要】
- // SplitPower(1001)=[]bool{true,false,false,true}
- func SplitPower(power, num int) []bool {
- boolArr := make([]bool, num)
- for i := 0; i < num; i++ {
- boolArr[num-i-1] = power/int(math.Pow(10, float64(i)))%10 == 1
- }
- return boolArr
- }
|