前端之家收集整理的这篇文章主要介绍了
go语言结构体定义使用,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
package main
import (
"fmt"
"sync"
)
type Info struct {
info map[int]string
mu sync.RWMutex
}
func main() {
x := &Info{info: make(map[int]string)}
x.Set(1,"golang")
s := x.Get(1)
fmt.Println(s)
}
func (s *Info) Get(i int) string {
s.mu.RLock()
info := s.info[i]
s.mu.RUnlock()
return info
}
func (s *Info) Set(i int,name string) bool {
s.mu.Lock()
defer s.mu.Unlock()
_,present := s.info[i]
if present {
return false
}
s.info[i] = name
return true
}