Go语言之JSON和MD5

PHP二次开发 Golang 45 次浏览 , , 没有评论

JSON

Go语言内置的encoding/json 标准库

插件:github.com/pquerna/ffjson

JSON编码:func Marshal(v interface{}) ([]byte, error)

JSON解码:func Unmarshal(data []byte, v interface{}) error

  1. package main
  2.  
  3. import (
  4. "encoding/json"
  5. "fmt"
  6. )
  7.  
  8. type Student struct {
  9. Name string `json:"student_name"`
  10. Age int
  11. }
  12.  
  13. func main() {
  14. //对数组类型的json编码
  15. x := [5]int{1, 2, 3, 4, 5}
  16. s, err := json.Marshal(x)
  17. if err != nil {
  18. panic(err)
  19. }
  20.  
  21. fmt.Println(string(s))
  22.  
  23. //对map类型进行json编码
  24. m := make(map[string]float64)
  25. m["zhangsan"] = 100.4
  26. s2, err2 := json.Marshal(m)
  27. if err2 != nil {
  28. panic(err2)
  29. }
  30.  
  31. fmt.Println(string(s2))
  32.  
  33. //对对象进行json编码
  34. student := Student{"zhangsan", 26}
  35. s3, err3 := json.Marshal(student)
  36. if err3 != nil {
  37. panic(err3)
  38. }
  39.  
  40. fmt.Println(string(s3))
  41.  
  42. //对s3进行json解码
  43. var s4 interface{}
  44. json.Unmarshal([]byte(s3), &s4)
  45. fmt.Printf("%v", s4)
  46. }

MD5

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

Md5Inst:=md5.New()
Md5Inst.Write([]byte(“test md5”))
Result:=Md5Inst.Sum([]byte(“”))
fmt.Printf(“%x\n\n”,Result)

  1. package main
  2.  
  3. import (
  4. "crypto/md5"
  5. "fmt"
  6. )
  7.  
  8. func main() {
  9. Md5Inst := md5.New()
  10. Md5Inst.Write([]byte("zhangsan"))
  11. Result := Md5Inst.Sum([]byte(""))
  12. fmt.Printf("%x\n\n", Result)
  13. }

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Go