@ -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]) | |||||
} | |||||
} |