"Go ip2int()"의 두 판 사이의 차이

 
(같은 사용자의 중간 판 하나는 보이지 않습니다)
11번째 줄: 11번째 줄:
)
)


func ip2int(ipString string) uint32 {
func ip2int(ipString string) int {
ip := net.ParseIP(ipString)
ip := net.ParseIP(ipString)
if ip == nil {
if ip == nil {
return 0
return -1
}
}
return binary.BigEndian.Uint32(ip.To4())
return int(binary.BigEndian.Uint32(ip.To4()))
}
}
func main() {
func main() {
fmt.Println(ip2int("0.0.0.0"))        // 0
fmt.Println(ip2int("0.0.0.1"))        // 1
fmt.Println(ip2int("0.0.0.1"))        // 1
fmt.Println(ip2int("0.0.1.0"))        // 256
fmt.Println(ip2int("0.0.1.0"))        // 256
24번째 줄: 26번째 줄:
fmt.Println(ip2int("255.255.255.255")) // 4294967295
fmt.Println(ip2int("255.255.255.255")) // 4294967295


fmt.Println(ip2int("0.0.0.0"))        // 0
fmt.Println(ip2int("0.0.0.256"))      // -1
fmt.Println(ip2int("0.0.0.256"))      // 0
fmt.Println(ip2int("0.0.0.0.0"))      // -1
fmt.Println(ip2int("0.0.0.0.0"))      // 0
fmt.Println(ip2int("0.0.0.00"))      // -1
fmt.Println(ip2int("0.0.0.00"))      // 0
fmt.Println(ip2int("135.79.246.080")) // -1
fmt.Println(ip2int("135.79.246.080")) // 0
}
}
</syntaxhighlight>
</syntaxhighlight>

2023년 2월 1일 (수) 16:55 기준 최신판

1 개요[ | ]

Go ip2int()
package main

import (
	"encoding/binary"
	"fmt"
	"net"
)

func ip2int(ipString string) int {
	ip := net.ParseIP(ipString)
	if ip == nil {
		return -1
	}
	return int(binary.BigEndian.Uint32(ip.To4()))
}

func main() {
	fmt.Println(ip2int("0.0.0.0"))         // 0
	fmt.Println(ip2int("0.0.0.1"))         // 1
	fmt.Println(ip2int("0.0.1.0"))         // 256
	fmt.Println(ip2int("135.79.246.80"))   // 2270164560
	fmt.Println(ip2int("255.255.255.255")) // 4294967295

	fmt.Println(ip2int("0.0.0.256"))      // -1
	fmt.Println(ip2int("0.0.0.0.0"))      // -1
	fmt.Println(ip2int("0.0.0.00"))       // -1
	fmt.Println(ip2int("135.79.246.080")) // -1
}

2 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}