在分配作业时解压切片?

在分配作业时解压切片?,第1张

在分配作业时解压切片?

正如Sergio Tulentsev所提到的,不支持Python中的常规打包/解包。我认为方法是使用多个返回值定义自己的小型即席函数:

func splitlink(s, sep string) (string, string) {    x := strings.Split(s, sep)    return x[0], x[1]}

然后您可以编写:

name, link := splitlink("foothttps://bar", "t")

但这显然仅在分割至少两个子字符串时有效,并且如果两个以上的子字符串被分割,则默默地忽略。如果这是您经常使用的东西,则可能会使您的代码更具可读性

- 编辑 -

解数组的另一种方法是通过可变参数指针参数:

func unpack(s []string, vars... *string) {    for i, str := range s {        *vars[i] = str    }}

哪个让你写:

var name, link stringunpack(strings.Split("foothttps://bar", "t"), &name, &link)bookmarks[name] = link

这将适用于任何数组大小,但可以说可读性较差,并且必须显式声明变量。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5170595.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存