| @ -0,0 +1,13 @@ | |||
| package main | |||
| import "fmt" | |||
| func main() { | |||
| days := []string{ | |||
| "Monday", "Tuesday", "Wednesday", "Thursday", | |||
| "Friday", "Saturday", "Sunday"} | |||
| days = append(days[len(days)-1:], days[:len(days)-1]...) | |||
| fmt.Println(days) | |||
| } | |||
| @ -0,0 +1,11 @@ | |||
| package main | |||
| import "fmt" | |||
| func main() { | |||
| s := []string{"Good", "Good", "Bad", "Good", "Good"} | |||
| s = append(s[:2], s[3:]...) | |||
| fmt.Println(s) | |||
| } | |||
| @ -0,0 +1,21 @@ | |||
| package main | |||
| import "fmt" | |||
| func getUsers() map[string]string { | |||
| users := map[string]string{ | |||
| "305": "Sue", | |||
| "204": "Bob", | |||
| "631": "Jake", | |||
| } | |||
| users["073"] = "Tracy" | |||
| return users | |||
| } | |||
| func main() { | |||
| fmt.Println("Users:", getUsers()) | |||
| } | |||
| @ -0,0 +1,47 @@ | |||
| package main | |||
| import ( | |||
| "fmt" | |||
| "os" | |||
| ) | |||
| func getUsers() map[string]string { | |||
| return map[string]string{ | |||
| "305": "Sue", | |||
| "204": "Bob", | |||
| "631": "Jake", | |||
| "073": "Tracy", | |||
| } | |||
| } | |||
| func getUser(id string) (string, bool) { | |||
| users := getUsers() | |||
| user, exists := users[id] | |||
| return user, exists | |||
| } | |||
| func main() { | |||
| if len(os.Args) != 2 { | |||
| fmt.Println("User ID not passed") | |||
| os.Exit(1) | |||
| } | |||
| userID := os.Args[1] | |||
| name, exists := getUser(userID) | |||
| if !exists { | |||
| fmt.Printf("Passed user ID (%v) not found.\nUsers: \n", userID) | |||
| for key, value := range getUsers() { | |||
| fmt.Println(" ID:", key, "Name:", value) | |||
| } | |||
| os.Exit(1) | |||
| } | |||
| fmt.Println("Name:", name) | |||
| } | |||
| @ -0,0 +1,32 @@ | |||
| package main | |||
| import ( | |||
| "fmt" | |||
| "os" | |||
| ) | |||
| var users = map[string]string{ | |||
| "305": "Sue", | |||
| "204": "Bob", | |||
| "631": "Jake", | |||
| "073": "Tracy", | |||
| } | |||
| func deleteUser(id string) { | |||
| delete(users, id) | |||
| } | |||
| func main() { | |||
| if len(os.Args) != 2 { | |||
| fmt.Println("User ID not passed") | |||
| os.Exit(1) | |||
| } | |||
| userID := os.Args[1] | |||
| deleteUser(userID) | |||
| fmt.Println("Users:", users) | |||
| } | |||
| @ -0,0 +1,24 @@ | |||
| package main | |||
| import "fmt" | |||
| type id string | |||
| func getIDs() (id, id, id) { | |||
| var id1 id | |||
| var id2 id = "1234-5678" | |||
| var id3 id | |||
| id3 = "1234-5678" | |||
| return id1, id2, id3 | |||
| } | |||
| func main() { | |||
| id1, id2, id3 := getIDs() | |||
| fmt.Println("id1 == id2: ", id1 == id2) | |||
| fmt.Println("id2 == id3: ", id2 == id3) | |||
| fmt.Println("id2 == \"1234-5678\"", string(id2) == "1234-5678") | |||
| } | |||
| @ -0,0 +1,51 @@ | |||
| package main | |||
| import "fmt" | |||
| type user struct { | |||
| name string | |||
| age int | |||
| balance float64 | |||
| member bool | |||
| } | |||
| func getUsers() []user { | |||
| u1 := user{ | |||
| name: "Tracy", | |||
| age: 51, | |||
| balance: 98.43, | |||
| member: true, | |||
| } | |||
| u2 := user{ | |||
| age: 19, | |||
| name: "Nick", | |||
| } | |||
| u3 := user{ | |||
| "Bob", | |||
| 25, | |||
| 0, | |||
| false, | |||
| } | |||
| var u4 user | |||
| u4.name = "Sue" | |||
| u4.age = 31 | |||
| u4.member = true | |||
| u4.balance = 17.09 | |||
| return []user{u1, u2, u3, u4} | |||
| } | |||
| func main() { | |||
| users := getUsers() | |||
| for i := 0; i < len(users); i++ { | |||
| fmt.Printf("%v: %#v\n", i, users[i]) | |||
| } | |||
| } | |||