Maps and bookmarks app

This commit is contained in:
Archie Fox
2025-02-28 23:22:39 +03:00
parent 17ce5f3575
commit fc1b81d22a
2 changed files with 74 additions and 9 deletions

View File

@@ -2,15 +2,64 @@ package main
import "fmt" import "fmt"
type bookmarkMap = map[string]string
func main() { func main() {
m := map[string]string{ bookmarks := bookmarkMap{}
"PurpleSchool": "https://purpleschool.ru", fmt.Println(bookmarks["a"])
} fmt.Println("Приложение для закладок")
m["Google"] = "https://google.com" Menu:
m["Gmail"] = "https://gmail.com" for {
fmt.Println(m) variant := getMenu()
delete(m, "Gmail") switch variant {
for _, v := range m { case 1:
fmt.Println(v) printBookmarks(bookmarks)
case 2:
bookmarks = addBookmark(bookmarks)
case 3:
bookmarks = deleteBookmark(bookmarks)
case 4:
break Menu
}
} }
} }
func getMenu() int {
var variant int
fmt.Println("Выберите вариант")
fmt.Println("1. Посмотреть закладки")
fmt.Println("2. Добавить закладку")
fmt.Println("3. Удалить закладку")
fmt.Println("4. Выход")
fmt.Scan(&variant)
return variant
}
func printBookmarks(bookmarks bookmarkMap) {
if len(bookmarks) == 0 {
fmt.Println("Пока нет закладок")
}
for key, value := range bookmarks {
fmt.Println(key, ": ", value)
}
}
func addBookmark(bookmarks bookmarkMap) bookmarkMap {
var newBookmarkKey string
var newBookmarkValue string
fmt.Print("Введите название: ")
fmt.Scan(&newBookmarkKey)
fmt.Print("Введите адрес: ")
fmt.Scan(&newBookmarkValue)
bookmarks[newBookmarkKey] = newBookmarkValue
return bookmarks
}
func deleteBookmark(bookmarks bookmarkMap) bookmarkMap {
var bookmarkToDelete string
fmt.Print("Введите название: ")
fmt.Scan(&bookmarkToDelete)
delete(bookmarks, bookmarkToDelete)
return bookmarks
}

16
go-demo-3/maps/main.go Normal file
View File

@@ -0,0 +1,16 @@
package maps
import "fmt"
func main() {
m := map[string]string{
"PurpleSchool": "https://purpleschool.ru",
}
m["Google"] = "https://google.com"
m["Gmail"] = "https://gmail.com"
fmt.Println(m)
delete(m, "Gmail")
for _, v := range m {
fmt.Println(v)
}
}