converting IPv4 string to uint32 (and back again)

Nate Finch nate.finch at canonical.com
Thu Dec 4 21:20:34 UTC 2014


Well, his wasn't even using net.ParseIP ;)

I do like that you don't need to do the nil check from ParseIP before doing
To4().... I didn't think to check if you needed the nil check.  That's one
aspect of Go's methods that is so awesome.  Calling methods on a nil value
doesn't cause a panic in and of itself.

On Thu, Dec 4, 2014 at 4:07 PM, Gustavo Niemeyer <gustavo at niemeyer.net>
wrote:

> I generally just "hand code" that sort of logic as well:
>
>     http://play.golang.org/p/Hvi9t_ZFlw
>
> and yeah, big-endian is the "network byte order". Technically, anything
> would work (XOR it with 42!), but it would be surprising.
>
>
>
>
>
> On Thu Dec 04 2014 at 5:50:13 PM Nate Finch <nate.finch at canonical.com>
> wrote:
>
>> http://play.golang.org/p/H1DI2Bw1OY
>>
>> Michael was working on translating an ipv4 strings to uint32 (he said
>> int, but I hope he meant uint32).  He was hand coding it, but I figured
>> there was a better way using the built-in libraries.  Turns out it's not
>> too bad.  The code is in the link above.  I thought it was interesting, so
>> I'm cc'ing juju-dev.
>>
>> The only thing I wasn't sure about was BigEndian vs. LittleEndian.  IMO,
>> 0.0.0.5 -> 5 makes the most sense, so I went with BigEndian.  I suppose it
>> doesn't matter as long as the conversions are kept consistent in both
>> directions.
>>
>> -Nate
>> --
>> Juju-dev mailing list
>> Juju-dev at lists.ubuntu.com
>> Modify settings or unsubscribe at: https://lists.ubuntu.com/
>> mailman/listinfo/juju-dev
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/juju-dev/attachments/20141204/8843ef8b/attachment.html>


More information about the Juju-dev mailing list