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>