Golang语言之JSON md5

package main

import (
"encoding/json" //自带的json工具
"fmt"
)

//github.com/pquerna/ffjson/ffjson
// 这个json工具,比自带的json效率要高很多
// 而且接口,完全一样,
type worker struct {
Name string `json:"worker_name"` //转换成json格式时,key就是worker_name
Sex string
salay int32 //注意,json时,不会对这个属性操作,因为salay是小写
}

func main() {
// 1、对数组形式,进行编码
x := [5]int{1, 2, 3, 4, 5}
bytes, e := json.Marshal(x)

if e != nil {
panic(e)
}
fmt.Println(string(bytes)) //[1,2,3,4,5]

// 2、对map类型,进行json
var stu = map[string]string{}
stu = make(map[string]string)
stu["name"] = "beijing"
stuJson, err := json.Marshal(stu)

if err != nil {
panic(err)
}
fmt.Println(string(stuJson)) //{"name":"beijing"}
// 3、对struct对象进行JSON格式 编码
wk := worker{
Name: "xiaozhang",
Sex: "male",
salay: 34,
}
wrJson, err2 := json.Marshal(wk)

if err2 != nil {
panic(err2)
}

fmt.Println(string(wrJson)) //{"worker_name":"xiaozhang","Sex":"male"}

// 4、对wrJson进行解码
var w interface{} //声明一个interface, 用于存储解码后的值
json.Unmarshal(wrJson, &w)
fmt.Printf("---json格式解码---->%v", w) //map[worker_name:xiaozhang Sex:male]

}

==================================  
package main

import (
    "crypto/md5"
    "fmt"
)

//注意,md5是不逆的
//md5的格式,基本上是一样的
//使用时,按照下面的格式,copy就可以了。
func main() {
    Md5Inst := md5.New()
    Md5Inst.Write([]byte("admin"))
    Result := Md5Inst.Sum([]byte(""))
    fmt.Printf("%x\n\n", Result)
}

原文地址:http://blog.51cto.com/xingej/2147406

时间: 2024-10-09 04:33:26

Golang语言之JSON md5的相关文章

go语言之JSON与md5值

go语言之JSON与md5值 一.Json是什么? 是一种轻量级的数据交换语言,用于数据交换.Json由于比XML更小.更快.更易解析,以及浏览器的内建快速解析支持,使得其更实用于网络数据交互.目前我们看到很多的开放平台,基本上都是采用了JSON作为他们的数据交互的接口.go语言提供了内置的encoding/json 标准库,在github上提供了更快的json标准库,github.com/pquerna/ffjson/ffjson 二.JSON数据的编码和解码 编码函数: func Marsh

Golang语言编程规范

Golang语言编程规范 一.说明 编程规范好,可避免语言陷阱,可有利团队协作,有利项目维护. 正常的Go编程规范有两种:编译器强制的(必须的),gofmt格式化非强制的(非必须). Go宣告支持驼峰命名法,排斥下划线法. 自定义原则: a.统一工作区间,避免目录及文件名随意 b.规范变量/结构体/方法及接口名 c.规范注释 d.单元测试/程序效率等建议 两个等级: (S)建议,(M)必须.以下是细节. 二.代码组织结构 (M)一个目录只包含一个包,模块复杂拆分子模块/子目录 (S)内部项目GO

学习Golang语言(6):类型--切片

学习Golang语言(1): Hello World 学习Golang语言(2): 变量 学习Golang语言(3):类型--布尔型和数值类型 学习Golang语言(4):类型--字符串 学习Golang语言(5):类型--数组 学习Golang语言(6):类型--切片 在很多应用场景中,数组不能够满足我们的需求.在初始定义数组时,我们并不知道数组所需的长度.因此,我们需要一个大小可以动态变化的数组(动态数组) 在Go语言中,这种"动态数组"成为slice(切片). 但是实际上slic

golang 数据建模json解析

1.0 controller get请求 type MainController struct { beego.Controller } func (this *MainController) Get() { this.Data["IsHome"] = true this.Data["Website"] = "s.me" this.Data["Email"] = "[email protected]" th

golang语言编译的二进制可执行文件为什么比 C 语言大(转载)

最近一位朋友问我"为什么同样的hello world 入门程序"为什么golang编译出来的二进制文件,比 C 大,而且大很多.我做了个测试,来分析这个问题.C 语言的hello world程序: 1 2 3 4 5 #include <stdio.h> int main() {     printf("hello world!\n");     return 0; } golang 语言的hello world程序: 1 2 3 4 5 6 7 pac

为什么要用golang语言进行区块链编程开发?

Go语言现在常常被用来做去中心化系统(decentralised system).其他类型的公司也都把Go用在产品的核心模块中,并且它在网站开发中也占据了一席之地. 我们在决定做Karachain的时候,考量(benchmark)了C,C++, Java, 甚至NodeJs,我们也试着用一些算法来作为考量标准.而现在,我表示我们正在用Go来实现此目标,并且感觉不错. 啊,现在建造一个区块链,恰如当时建造一个操作系统! 我们在建造像区块链平台这样复杂的东西时,把注意力放在了那些核心问题上.经过差不

RabbitMQ官方教程一Hello World(GOLANG语言实现)

介绍 RabbitMQ是消息中间件:它接受并转发消息. 您可以将其视为邮局系统:将要发送的邮件放在邮箱中时, 可以确保邮递员最终将邮件传递给收件人. 以此类推,RabbitMQ是一个邮箱,一个邮局和一个邮递员. RabbitMQ与邮局之间的主要区别在于, 它不处理纸张,而是接收,存储和转发数据消息的二进制数据. 以下是RabbitMQ和消息发送的术语 Producer:生产者.负责生产消息. Queue:队列.负责存储消息.队列在RabbitMQ中充当邮箱的角色,消息传递到RabbitMQ中,只

C语言解析JSON源码

2020-01-09 关键字:cJSON.linux JSON解析 JSON 是一种在互联网领域内很常用的轻量级数据交换协议. 它与 XML 的地位差不多,但就笔者而言,笔者更喜欢 JSON 的风格,因为它更符合我们的思维习惯,同样一份数据,JSON 格式的就是比 XML 要清晰明了一些. 最近笔者需要在 C语言 上解析 JSON 格式,在网上一顿找,找到一份很不错的开源代码.经过一阵研究与修改以后,终于变成了让笔者用的很顺手的 C语言 版 JSON 解析器. 现将这份经笔者小小修改过的代码记录

Golang中解析json,构造json

json解析是如今(网络)应用程序开发中最不可或缺的一环了.许多语言需要库支持才可以解析.构造json,但Golang凭借着原生库就可以很好地做到这一点. json的基本表现形式有两个:struct与string.解析与构造就是要解决string2struct与struct2string.在Golang里,负责这两项功能的库位于"encoding/json".库中函数使用说明可以前往“https://gowalker.org/encoding/json”查看.下面给出使用示例源码. J