// ========================================================================== // $Id: slices.go,v 1.1 2014/03/27 03:27:49 jlang Exp $ // CSI2120 GO: Slices // ========================================================================== // (C)opyright: // // Jochen Lang // EECS, University of Ottawa // 800 King Edward Ave. // Ottawa, On., K1N 6N5 // Canada. // http://www.eecs.uottawa.ca // // Creator: Jochen Lang (based on example by R. Laganiere) // Email: jlang@eecs.uottawa.ca // ========================================================================== // $Log: slices.go,v $ // Revision 1.1 2014/03/27 03:27:49 jlang // Created Go examples for intro lecture. // // ========================================================================== package main import "fmt" func mean(tab []int) (meanVal float64){ // for index, value := range collection for _, value := range tab { meanVal+= (float64)(value) } meanVal /= (float64)(len(tab)) return } func main() { var table = [5]int{3, 4, 8, 9, 2} m := mean(table[:]) // all elements fmt.Printf("result= %f\n", m) m = mean(table[2:]) // elements 2 to the end fmt.Printf("result= %f\n", m) m = mean(table[1:3]) // 2 elements from 1 up to 3 fmt.Printf("result= %f\n", m) }