/
/
opt
/
golang
/
1.19.4
/
test
/
typeparam
/
issue48716.dir
Server: in-mum-web1112.main-hosting.eu (62.72.28.111)
You: 216.73.216.52
PHP 8.3.16
Dir:
/opt/golang/1.19.4/test/typeparam/issue48716.dir
Edit:
/opt/golang/1.19.4/test/typeparam/issue48716.dir/a.go
// Copyright 2021 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package a type Pair[L, R any] struct { L L R R } func Two[L, R any](l L, r R) Pair[L, R] { return Pair[L, R]{L: l, R: r} } type Map[K, V any] interface { Put(K, V) Len() int Iterate(func(Pair[K, V]) bool) } type HashMap[K comparable, V any] struct { m map[K]V } func NewHashMap[K comparable, V any](capacity int) HashMap[K, V] { var m map[K]V if capacity >= 1 { m = make(map[K]V, capacity) } else { m = map[K]V{} } return HashMap[K, V]{m: m} } func (m HashMap[K, V]) Put(k K, v V) { m.m[k] = v } func (m HashMap[K, V]) Len() int { return len(m.m) } func (m HashMap[K, V]) Iterate(cb func(Pair[K, V]) bool) { for k, v := range m.m { if !cb(Two(k, v)) { return } } }
Ukuran: 861 B