margin in life

我是从赵周的《这样读书就够了》里面看到成人教育理论,感觉很有收获。生存余力理论由密歇根大学的成人教育家麦卡卢斯基1963年提出。基本观点是一个人总是在他需要的精力与可提供的精力之间寻求平衡,那些消耗个体精力的事情,叫做“生存负载”,处理这些事情需要“生存力量”,两者都包含内外部因素。
生存负载外部主要就是工作,包括职场和家庭。内部来自不断的生活期望,买房买车。
生存力量外部来自经济能力,家庭背景及人脉等。内部来自能力和经验。 要学习必须拥有一定的生存余力。 苦逼的码农们,不要盲目加班,给自己留点余力,工作中多总结思考,多学点新知,增加自己的生存力量,进行良性循环。

今天分享的技巧是Go语言序列化/反序列化的一个小技巧,工作中经常会用到。

源文件,注意边的符号是键盘1左边的那个符号,struct内容大写,别的语言有的也有这种特性。对比一下使用和不使用这种技巧的写法

package main

import (
    "encoding/json"
    "fmt"
)

type Sample struct {
    Hello string `json:"hello_field"`
}

type Samepe2 struct{
    Hello string
}

func main() {
    test := "{\"hello_field\":\"world\"}"
    var sample Sample
    err := json.Unmarshal([]byte(test), &sample)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println("hello " + sample.Hello)
    out, _ := json.Marshal(sample)
    fmt.Println(string(out))
    var sample2 Samepe2
    test2 := "{\"Hello\":\"world\"}"
    err = json.Unmarshal([]byte(test2), &sample2)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println("hello " + sample2.Hello)
    out2, _ := json.Marshal(sample2)
    fmt.Println(string(out2))
}