Sum in Slice of Structures in Golang

Create new folder named entities. In entities folder, create new file named product.go as below:

package entities

type Product struct {
	Id       string
	Name     string
	Price    float64
	Quantity int
	Status   bool
}

Create new folder named src. In src folder, create new file named main.go as below:

package main

import (
	"entities"
	"fmt"
)

func main() {
	var products = []entities.Product{
		entities.Product{
			Id:       "p01",
			Name:     "name 1",
			Price:    5,
			Quantity: 9,
			Status:   false,
		},
		entities.Product{
			Id:       "p02",
			Name:     "name 2",
			Price:    2,
			Quantity: 8,
			Status:   true,
		},
		entities.Product{
			Id:       "p03",
			Name:     "name 3",
			Price:    11,
			Quantity: 7,
			Status:   false,
		},
	}
	fmt.Println("Total", Total(products))
}

func Total(products []entities.Product) (result float64) {
	result = 0
	for _, product := range products {
		result += product.Price * float64(product.Quantity)
	}
	return result
}




Open Terminal windows in Visual Studio Code and run command line: go run main.go

Total 138