go 基础之JSON+MD5的使用

JSON 的使用

JSON的库git

  • GO语言内置的encoding/json 标准库
  • github.com/pquerna/ffjson/ffjson

JSON编码github

func Marshal(v interface{}) ([]byte,error)json

package main
import
(
  "fmt"
  "encoding/json"
)
type Student struct{
  Name string `json:"student_name"`
  Age int
  sex string
}
func main()  {
  // 对数组类型的 json 编码
  x := [5]int{1,2,3,4,5}
  s1, err1 := json.Marshal(x)
  if err1 != nil {
    panic(err1)
  }
  fmt.Println(string(s1))

  // 对map类型进行json编码
  m := make(map[string]int)
  m["zhangsan"] = 1
  s2, err2 := json.Marshal(m)
  if err2 != nil {
    panic(err2)
  }
  fmt.Println(string(s2))

  //  对 对象 类型进行json编码
  student := Student{"zhangsan",26,"男"}
  s3,err3 := json.Marshal(student)
  if err3 != nil {
    panic(err3)
  }
  fmt.Println(string(s3))
}
[1,2,3,4,5]
{"zhangsan":1}
{"student_name":"zhangsan","Age":26}

JSON解码数组

func Unmarshal(data []byte,interface{}) error编码

// 对s3进行json解码
var s4 interface{}
json.Unmarshal([]byte(s3),&s4)
fmt.Printf("%v", s4)
map[student_name:zhangsan Age:26]

MD5的使用

MD5的库 Go语言内置的crypto/md5 的标准库code


import
(
  "fmt"
  "crypto/md5"
)

func main()  {
  Md5Inset := md5.New()
  Md5Inset.Write([]byte("zhangsan"))
  Result := Md5Inset.Sum([]byte(""))
  fmt.Printf("%x\n\n", Result)
}
01d7f40760960e7bd9443513f22ab9af