GoLang Slice issue

We have a task in Golang using slice where to find sum of odd and even number and difference between them. For it we written code as -

package main
import "fmt"

    func main() {
        var number int
        fmt.Scanln(&number)
        var number1 int
        fmt.Scanln(&number1)
        var number2 int
        fmt.Scanln(&number2)
        var number3 int
        fmt.Scanln(&number3)
        var a = [4]int{number, number1, number2, number3}
        result3, result4, result5 := sum(a)
        fmt.Println(result4)
        fmt.Println(result5)
        fmt.Println(result3)
    }

    func sum(a [4]int) (int, int, int) {
        result1 := 0
        result3 := 0
        result4 := 0
        result5 := 0
        for _, value := range a {
            result1 += value
            if value%2 == 0 {
                result4 += value
            }
            if value%2 != 0 {
                result5 += value
            }
        }
        result3 = result4 - result5
        return result3, result4, result5
    }

Input (stdin)
6
12
3
34
4
24
6

Your Output (stdout)
52
3
49

Expected Output
70
13
57

I neither see the use of a slice, nor do I see a question. Can you elaborate?

However, in your code, you didn’t use that information properly.


package main

import "fmt"

func main() {
	var n int
	fmt.Scanln(&n)
	s := make([]int, n)
	for i := range s {
		fmt.Scanln(&s[i])
	}

	var even, odd int
	for i, v := range s {
		if i%2 == 0 {
			even += v
		} else {
			odd += v
		}
	}
	fmt.Println(even)
	fmt.Println(odd)
	fmt.Println(even - odd)
}

.

$ go run evenodd.go
6
12
3
34
4
24
6
70
13
57
$

.

$ go run evenodd.go
4
1
2
5
3
6
5
1
$
1 Like

thanks a lot it worked it :slight_smile: