/* * composites.go *------------------------------------------------------- * array, slice, map * Jim Fawcett, CSE775 - Distributed Objects, Spring 2016 *------------------------------------------------------- */ package main import ( "fmt" "fawcett/utils" ) func main() { /* arrays */ utils.TitleM("Demonstrating composites") fmt.Println() utils.Title("Arrays:") a := [3]int { 1, 2, 3 } fmt.Printf("\n %v", a) as := [...]string { "one", "two", "three", "four", "five" } fmt.Printf("\n %v\n", as) /* slices */ utils.Title("Slices:") courses := [...]string { "CSE681", "CSE686", "CSE687", "CSE775", "CSE776", "CSE784" } fmt.Printf("\n %v", courses) Fall1 := courses[0:1] // slice 1 Fall2 := courses[4:6] // slice 2 Fall := Fall1 for _, c := range Fall2 { // appending to slice 1 Fall = append(Fall, c) } Spring := courses[1:4] fmt.Printf("\n Fall courses: %v, Spring courses: %v\n", Fall, Spring) /* maps */ utils.Title("Maps:") crs := make(map[string]string) crs["CSE681"] = "SMA" crs["CSE686"] = "IP" crs["CSE687"] = "OOD" crs["CSE775"] = "DO" crs["CSE776"] = "DP" crs["CSE784"] = "SS" for id, name := range crs { fmt.Printf("\n %v - %v", id, name) } fmt.Println() }