remove: map as sets
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
// For more tutorials: https://blog.learngoprogramming.com
|
||||
//
|
||||
// Copyright © 2018 Inanc Gumus
|
||||
// Learn Go Programming Course
|
||||
// License: https://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
//
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
)
|
||||
|
||||
func main() {
|
||||
args := os.Args[1:]
|
||||
if len(args) != 1 {
|
||||
fmt.Println("[english word] -> [turkish word]")
|
||||
return
|
||||
}
|
||||
query := args[0]
|
||||
|
||||
english := []string{"good", "great", "perfect"}
|
||||
turkish := []string{"iyi", "harika", "mükemmel"}
|
||||
|
||||
// O(n) -> Inefficient: Depends on 'n'.
|
||||
for i, w := range english {
|
||||
if query == w {
|
||||
fmt.Printf("%q means %q\n", w, turkish[i])
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
fmt.Printf("%q not found\n", query)
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
// For more tutorials: https://blog.learngoprogramming.com
|
||||
//
|
||||
// Copyright © 2018 Inanc Gumus
|
||||
// Learn Go Programming Course
|
||||
// License: https://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
//
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// args := os.Args[1:]
|
||||
// if len(args) != 1 {
|
||||
// fmt.Println("[english word] -> [turkish word]")
|
||||
// return
|
||||
// }
|
||||
// query := args[0]
|
||||
|
||||
// #1: Nil Map: Read-Only
|
||||
var dict map[string]string
|
||||
|
||||
// #5: You cannot assign to a nil map.
|
||||
// dict["up"] = "yukarı"
|
||||
// dict["down"] = "aşağı"
|
||||
|
||||
// #2: Map retrieval is O(1) — on average.
|
||||
key := "good"
|
||||
|
||||
value := dict[key]
|
||||
fmt.Printf("%q means %#v\n", key, value)
|
||||
|
||||
// #1B
|
||||
fmt.Printf("# of Keys: %d\n", len(dict))
|
||||
|
||||
// fmt.Printf("Zero Value: %#v\n", dict)
|
||||
|
||||
// #4: Nil map ready to use
|
||||
// if dict != nil {
|
||||
// value := dict[key]
|
||||
// fmt.Printf("%q means %#v\n", key, value)
|
||||
// }
|
||||
|
||||
// #3: Cannot use non-comparable types as map key types
|
||||
// var broken map[[]int]int
|
||||
// var broken map[map[int]string]bool
|
||||
//
|
||||
// A map can only be compared to nil value
|
||||
// _ = dict == nil
|
||||
}
|
||||
Reference in New Issue
Block a user