1. ホーム
  2. string

[解決済み] 文字列を分割して変数に代入する方法

2022-04-24 15:14:34

質問

Pythonでは、文字列を分割して変数に代入することが可能です。

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

が、Goではうまくいかないようです。

ip, port := strings.Split("127.0.0.1:5432", ":")
// assignment count mismatch: 2 = 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

例えば一歩。

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>