在 Python 中,可以拆分字符串并将其分配给变量:
ip, port = '127.0.0.1:5432'.split(':')
但在 Go 中它似乎不起作用:
ip, port := strings.Split("127.0.0.1:5432", ":") // assignment count mismatch: 2 = 1
问题:如何一步拆分字符串并赋值?
两个步骤,例如,
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>