大多情况下很多数据因为格式简单,不需要存储在数据库内,故而写入内存是最好的选择,同时也减少了读取数据库的耗时
package main
import (
"fmt"
"os"
"encoding/json"
"io/ioutil"
)
func main() {
// os.Stat判断文件是否存在,若不存在便创建
fileinfo, err := os.Stat(`C:\Users\Desktop\amber.txt`)
if err != nil {
if err = os.Mkdir(rdPath, 0644);err !=nil {
panic(err)
}
}
fmt.Println(fileinfo.Name()) //获取文件名
fmt.Println(fileinfo.IsDir()) //判断是否是目录,返回bool类型
fmt.Println(fileinfo.ModTime()) //获取文件修改时间
fmt.Println(fileinfo.Mode())
fmt.Println(fileinfo.Size()) //获取文件大小
}
写入内存
func write() {
nameMap := make(map[int]string, 2000)
nameMap[0] = "Amber"
nameMap[1] = "Jack"
//将map类型的i转换成[]byte类型
data, err := json.MarshalIndent(nameMap, "", " ")
if err !=nil {
panic(err)
}
//将数据data写入文件filePath中,并且修改文件权限为755
if err = ioutil.WriteFile(fileinfo, data, 0755)
}
读取内存
func write() {
//读取指定文件内容,返回的data是[]byte类型数据
data, err := ioutil.ReadFile(filePath)
if err !=nil {
panic(err)
}
//Unmarshal将data数据转换成指定的结构体类型,经过json转换后data中的数据已写入map中
if err := json.Unmarshal(data, nameMap) ; err != nil {
panic(err)
}