go存储之内存

在web应用中需要存储用户录入的信息,一般是使用数据库来存储,这里使用内存的形式来存储数据,主要用于演示数据存储到go类型map中。

package main

import (
"fmt"
)

type Person struct {
Id int
Name string
}

var PersonById map[int]*Person
var PersonByName map[string][]*Person

func store(person Person) {
PersonById[person.Id] = &person
PersonByName[person.Name] = append(PersonByName[person.Name], &person)
}

func main() {
PersonById = make(map[int]*Person)
PersonByName = make(map[string][]*Person)

person1 := Person{Id: 1, Name: "刘备"}
person2 := Person{Id: 2, Name: "关羽"}
person3 := Person{Id: 3, Name: "张飞"}
person4 := Person{Id: 4, Name: "刘备"}

store(person1)
store(person2)
store(person3)
store(person4)

fmt.Println(PersonById[1])
fmt.Println(PersonById[2])
for _, person := range PersonByName["刘备"] {
fmt.Println(person)
}

}

先定义一个结构体Person,定义2个map类型,1个是用户id为key,1个是用户名称为key。store是存储函数,往2个map中添加数据。

发表评论

相关文章