文字列を分割して変数に割り当てる方法 質問する

文字列を分割して変数に割り当てる方法 質問する

Python では、文字列を分割して変数に割り当てることができます。

ip, port = '127.0.0.1:5432'.split(':')

しかし、Go では動作しないようです:

ip, port := strings.Split("127.0.0.1:5432", ":")
// assignment count mismatch: 2 = 1

質問:文字列を分割して 1 つのステップで値を割り当てるにはどうすればよいでしょうか?

ベストアンサー1

たとえば、2つのステップ

package main

import (
    "fmt"
    "strings"
)

func main() {
    s := strings.Split("127.0.0.1:5432", ":")
    ip, port := s[0], s[1]
    fmt.Println(ip, port)
}

出力:

127.0.0.1 5432

例えば、1つのステップは、

package main

import (
    "fmt"
    "net"
)

func main() {
    host, port, err := net.SplitHostPort("127.0.0.1:5432")
    fmt.Println(host, port, err)
}

出力:

127.0.0.1 5432 <nil>

おすすめ記事