Golang中string(包括ip类的string)和int,int64的相互转化

1. 普通string, int32, int64的相互转换

  • string到int

       int, err := strconv.Atoi(string)

  • string到int64

       int64, err := strconv.ParseInt(string, 10, 64)

  • int到string

       string := strconv.Itoa(int)

  • int64到string

       string := strconv.FormatInt(int64,10)

 

2. string(ip类)和int的相互转换

  • string(ip类)到int

        func InetAtoi(ip string) int64 {
            ret := big.NewInt(0)
            ret.SetBytes(net.ParseIP(ip).To4())
            return ret.Int64()
        }

  • int到string(ip类)

        func InetItoa(ip int64) string {
            return fmt.Sprintf("%d.%d.%d.%d", byte(ip>>24), byte(ip>>16), byte(ip>>8), byte(ip))
        }

你可能感兴趣的:(golang)