我正在编写一个程序来生成一片独特元素的所有可能排列。相同的代码可以在这里找到
有一次,我需要从原始数字切片创建一个新切片。这个新切片比原始切片少一个元素。我尝试了两种不同的变体append
nums是原始切片,remaining也是我要创建的新切片。 i是一个int范围从0到len(nums)-1。
变体 1:
remaining := make([]int, 0)
remaining = append(remaining, nums[:i]...)
remaining = append(remaining, nums[i+1:]...)
变体 2:
remaining := append(nums[:i], nums[i+1:]...)
虽然该程序适用于 Variant 1 ,但它与 Variant 2 的行为不正确。我想了解这两个 Variant 的确切区别是什么?
慕仙森
相关分类