package product_of_array_except_self func ProductExceptSelf(nums []int) []int { result := []int{} for range nums { result = append(result, 1) } lower_sum := 1 for i := range len(nums) { result[i] *= lower_sum lower_sum *= nums[i] } upper_sum := 1 for i := range len(nums) { result[len(nums)-1-i] *= upper_sum upper_sum *= nums[len(nums)-1-i] } return result }