Как умножить все значения в срезе в Go (Golang)

Чтобы перемножить все значения в срезе в Go (Golang), вы можете использовать различные методы. Вот несколько примеров:

Метод 1: использование цикла for

package main
import "fmt"
func multiplySliceValues(slice []int) int {
    result := 1
    for _, value := range slice {
        result *= value
    }
    return result
}
func main() {
    values := []int{2, 3, 4, 5}
    multiplied := multiplySliceValues(values)
    fmt.Println("Result:", multiplied)
}

Метод 2. Использование диапазона и указателей

package main
import "fmt"
func multiplySliceValues(slice []int) int {
    result := 1
    for i := range slice {
        result *= slice[i]
    }
    return result
}
func main() {
    values := []int{2, 3, 4, 5}
    multiplied := multiplySliceValues(values)
    fmt.Println("Result:", multiplied)
}

Метод 3. Использование рекурсии

package main
import "fmt"
func multiplySliceValues(slice []int) int {
    if len(slice) == 0 {
        return 1
    }
    return slice[0] * multiplySliceValues(slice[1:])
}
func main() {
    values := []int{2, 3, 4, 5}
    multiplied := multiplySliceValues(values)
    fmt.Println("Result:", multiplied)
}