字符串和整数串联问题golang

时间:2016-11-16 19:58:17

标签: go

我正在尝试在Go中编写端口扫描程序,因为我是新手,因此我遇到的问题很少。下面是我写的代码。

package main

import (
    "fmt"
    "log"
    "net"
    "os"
)

func main() {

    callme()

}

func callme() {

    var status string
    getip := os.Args[1]
    getport := 0
    for i := 0; i < 10; i++ {
        getport += i

        data := getip + ":" + getport
        conn, err := net.Dial("tcp", data)
        if err != nil {
            log.Println("Connection error:", err)
            status = "Unreachable"
        } else {

            status = getport + " - " + "Open"
            defer conn.Close()
        }

        fmt.Println(status)

    }
}

我从用户那里取ip作为命令行arg,然后想要扫描这个ip上的所有端口。由于net.Dial函数需要像“ip:port”这样的格式的数据,所以我很困惑如何每次连接字符串和int。 any1能帮助我实现这个目标吗?

1 个答案:

答案 0 :(得分:4)

一种可能性是使用strconv.Itoa(getport)int转换为string。另一种可能性是格式化字符串,如fmt.Sprintf("%s:%d", getip, getport)fmt.Sprintf("%d - Open", getport)