golang 的学习记录
关于 内存重排
mac go build
go build -ldflags "-w" user.go
mac 交叉编译
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build user.go
工程结构
- model 表的查询,每张表都有一个文件
- tojson 读取数据库中的数据,转化为 json 数据
- tomysql 从 json 中读取数据,导数数据库
- data 从数据库中读取数据的结果
- logic 所有 api 的查询
读取本地json, 并序列化
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
)
type Result struct {
Code int `json:"code"`
Msg string `json:"msg"`
Data []Module `json:"data"`
}
type Module struct {
ModuleId string `json:"module_id"`
ModuleName string `json:"module_name"`
ModuleDisplayName string `json:"module_display_name"`
ModuleIndex string `json:"module_index"`
Events []Event `json:"events"`
}
type Event struct {
ModuleId string `json:"module_id"`
EventId string `json:"event_id"`
EventName string`json:"event_name"`
EventDisplayName string `json:"event_display_name"`
EventParamsParse string `json:"event_params_parse"`
EventParams string `json:"event_params"`
IsEnable bool `json:"is_enable"`
EventDes string `json:"event_des"`
}
func main() {
v := Result{}
jsb := NewJsonStruct()
jsb.Load("./main/demo.json", &v)
fmt.Println(v.Data[0].Events[0].EventDisplayName)
fmt.Println("finish!!!")
}
type JsonStruct struct {
}
func NewJsonStruct() *JsonStruct {
return &JsonStruct{}
}
func (jst *JsonStruct) Load(filename string, v interface{}) {
//ReadFile函数会读取文件的全部内容,并将结果以[]byte类型返回
data, err := ioutil.ReadFile(filename)
if err != nil {
fmt.Println(err.Error())
return
}
//读取的数据为json格式,需要进行解码
err = json.Unmarshal(data, v)
if err != nil {
fmt.Println(err)
return
}
}
数据库建表
CREATE DATABASE IF NOT EXISTS WeexDemo;
CREATE TABLE IF NOT EXISTS WeexDemo.Modules(
module_id char(255) primary key,
module_name char(255),
module_display_name char(255),
module_index char(255)
);
CREATE TABLE IF NOT EXISTS WeexDemo.Events(
module_id char(255),
event_id char(255),
event_name char(255),
event_display_name char(255),
event_params_parse boolean,
event_params Text,
is_enable boolean,
event_des char(255),
primary key (event_id,module_id)
);
golang 代码规范
go fmt ./...
golang 错误检测
go test -race ./...
后台管理 API →