Skip to content

Commit c87cc0b

Browse files
committed
Added golang/net/lookup.go.
1 parent dea4696 commit c87cc0b

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

golang/net/lookup.go

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
/**
2+
* lookup.go
3+
*
4+
* 引数で指定されたホスト名に対応する IP アドレスを取得する。
5+
*/
6+
package main
7+
8+
import (
9+
"fmt"
10+
"net"
11+
"os"
12+
"strings"
13+
)
14+
15+
func main() {
16+
// 引数の数をチェック
17+
if len(os.Args) < 2 {
18+
fmt.Println("useage:" + os.Args[0] + " HOST_NAME")
19+
os.Exit(1)
20+
}
21+
22+
// ホスト名文字列を取得
23+
hostName := os.Args[1]
24+
25+
// ホストの IP アドレスを取得
26+
addrs, err := net.LookupIP(hostName)
27+
if err != nil {
28+
fmt.Println("net.LookupIP 実行時エラー")
29+
os.Exit(1)
30+
return
31+
}
32+
if len(addrs) == 0 {
33+
fmt.Fprintln(os.Stderr, "IP アドレスが見つかりませんでした。")
34+
os.Exit(2)
35+
return
36+
}
37+
38+
// IP アドレスを改行区切りで表示
39+
ipStr := make([]string, len(addrs))
40+
for i := 0; i < len(addrs); i++ {
41+
ipStr[i] = addrs[i].String()
42+
}
43+
fmt.Printf("%s\n", strings.Join(ipStr, "\n"))
44+
}

0 commit comments

Comments
 (0)