Post #17
242
Forwarded from Igor Panasyuk | IGORoutine Programming
- 😱 6
- ❤ 2
- 🔥 2
IG @igoroutine_courses
Showing posts older than #18 · Back to latest
Forwarded from Igor Panasyuk | IGORoutine Programming
Forwarded from Igor Panasyuk | IGORoutine Programming

ARM64 Go compiler 1.24.2
package main
import (
"fmt"
)
type Key struct {
ID int
Callback func()
}
var globalMap = map[any]any{}
func main() {
callback := func() {
fmt.Println("@igoroutine")
}
key1 := Key{
ID: 1,
Callback: callback,
}
key2 := Key{
ID: 1,
Callback: callback,
}
insert[Key](key1)
insert[Key](key2)
fmt.Println(len(globalMap))
}
func insert[T any](key T) {
globalMap[key] = 27
}

m будут ключи Data[string] и Data[int] и len(m) == 2.func insert[T comparable](m map[any]T, a T), то итоговый ответ будет 1, но почему?T и ему подойдёт только any, следовательно, в m будет всегда один ключ Data[any].
package main
func main() {
m := make(map[any]any)
insert(m, "IGOROUTINE COURSES")
insert(m, 1)
println(len(m))
}
func insert[T any](m map[any]any, a T) {
type Data struct{}
d := Data{}
m[d] = a
}


