当前位置: 首页 > news >正文

网站建设四川推来客网站系统郑州优化网站收费标准

网站建设四川推来客网站系统,郑州优化网站收费标准,大气集团企业网站源码,楼盘动态struct_tag的使用 在上面的例子看到#xff0c;我们根据结构体生成的json的key都是大写的#xff0c;因为结构体名字在go语言中不大写的话#xff0c;又没有访问权限#xff0c;这种问题会影响到我们对json的key的名字#xff0c;所以go官方给出了struct_tag的方法去修改… struct_tag的使用 在上面的例子看到我们根据结构体生成的json的key都是大写的因为结构体名字在go语言中不大写的话又没有访问权限这种问题会影响到我们对json的key的名字所以go官方给出了struct_tag的方法去修改生成json时对应key的名字 package mainimport (encoding/jsonfmt )//成员变量名首字母必须大写 type IT struct {//Company string json:- //此字段不会输出到屏幕// 单引号后面是struct代表二次编码,可以把生成的json的key从大写变成小写Company string json:companySubjects []string json:subjectsIsOk bool json:isok//IsOk bool json:string//转成字符串再输出编码Price float64 json:price }func main() {// 1. 定义一个结构体变量同时初始化s : IT{itcast, []string{Go, C, Python, Test}, true, 666.666}// 2. 编码根据内容生成json文本buf, err : json.MarshalIndent(s, , ) //格式化编码if err ! nil {fmt.Println(err , err)return}fmt.Println(buf , string(buf)) }map 生成json package mainimport (encoding/jsonfmt )func main() {// 1. 创建一个map注意value是万能指针类型m : make(map[string]interface{}, 4)m[company] itcastm[subjects] []string{Go, C, Python, Test}m[isok] truem[price] 666.666// 2. 编码成json//result, err : json.Marshal(m)result, err : json.MarshalIndent(m, , )if err ! nil {fmt.Println(err , err)return}fmt.Println(result , string(result)) }json解析到map package mainimport (encoding/jsonfmt )func main() {jsonBuf : {company: itcast,subjects: [Go,C,Python,Test],isok: true,price: 666.666 }// 1. 创建一个mapm : make(map[string]interface{}, 4)// 2. 第二个参数要地址传递err : json.Unmarshal([]byte(jsonBuf), m)if err ! nil {fmt.Println(err , err)return}fmt.Printf(m %v\n, m)//var str string//str string(m[company])// err无法转换//str m[company].(string)// ok.或者通过类型断言取map的内容。//fmt.Printf(str %s\n, str)// 3. 类型断言, 值它是value类型var str stringfor key, value : range m {//fmt.Printf(%v %v\n, key, value)switch data : value.(type) {case string:str datafmt.Printf(map[%s]的值类型为string, value %s\n, key, str)case bool:fmt.Printf(map[%s]的值类型为bool, value %v\n, key, data)case float64:fmt.Printf(map[%s]的值类型为float64, value %f\n, key, data)case []string:fmt.Printf(map[%s]的值类型为[]string, value %v\n, key, data)case []interface{}:fmt.Printf(map[%s]的值类型为[]interface, value %v\n, key, data)}}}json解析到结构体 package mainimport (encoding/jsonfmt )type IT struct {Company string json:companySubjects []string json:subjects //二次编码IsOk bool json:isokPrice float64 json:price }func main() {jsonBuf : {company: itcast,subjects: [Go,C,Python,Test],isok: true,price: 666.666 }// 一 获取json全部的内容// 1. 定义一个结构体变量var tmp IT// 2. 第二个参数要地址传递否则无法修改变量的值err : json.Unmarshal([]byte(jsonBuf), tmp)if err ! nil {fmt.Println(err , err)return}//fmt.Println(tmp , tmp)fmt.Printf(tmp %v\n, tmp)// 二 获取json指定的内容type IT2 struct {Subjects []string json:subjects //二次编码}var tmp2 IT2err json.Unmarshal([]byte(jsonBuf), tmp2) //第二个参数要地址传递if err ! nil {fmt.Println(err , err)return}fmt.Printf(tmp2 %v\n, tmp2)}在Go语言中[]byte(jsonBuf)这个表达式的作用是将一个名为jsonBuf的字节切片byte slice转换为[]byte类型。这里涉及到了Go语言中的类型转换概念。 在Go中[]byte是一个切片slice类型它底层的类型是byte即uint8。这意味着[]byte可以包含任意数量的字节每个字节都是uint8类型的值。当我们使用[]byte(jsonBuf)时我们实际上是在告诉Go将jsonBuf这个变量的内容——假设它是一个字节切片——转换成一个新的[]byte切片。 这种转换通常用在以下几种场景 类型匹配有时候你需要确保一个变量是[]byte类型以便能够使用特定的方法或函数对其进行操作。 接口要求Go的某些接口要求传入的参数是[]byte类型例如当你需要向一个函数传递一个可以被解码为JSON的对象时。 性能考虑在某些性能敏感的场合直接操作[]byte可能会比操作字符串string更高效因为字符串在Go中是不可变的而字节切片是可变的。 API规范某些外部API或库可能期望接收[]byte类型的数据这时你需要将其他类型的数据转换为[]byte。 简而言之[]byte(jsonBuf)的作用是将jsonBuf这个字节切片转换为[]byte类型以便在Go程序中进行进一步的字节操作。
http://www.pierceye.com/news/837211/

相关文章:

  • 天津品牌网站制作怎样建设网站流程
  • 怎样进行公司网站建设wordpress主题公司
  • 外宣做网站宣传网站功能描述
  • 部队网站建设多少钱营销自己的网站
  • 长春市城乡建设部网站南昌诚推网络技术有限公司
  • 网站 建设 欢迎你濮阳家电网站建设
  • 怎么快速建立一个网站如何用腾讯云服务器搭建wordpress
  • 五屏网站建设多少钱深圳网站公司有哪些
  • 莆田网站建站wordpress cd
  • 软件下载安装免费南京seo关键词优化服务
  • 广州网站设计软件建设将网站加入受信网站再试
  • 淘宝联盟网站备案常见的互联网应用
  • 自己做网站 搜索功能开发企业综合信息服务平台
  • 意大利语网站建设wordpress主题首页显示不全
  • 模板网站免费下载wordpress启用静态
  • 保定网站建设哪家好网站建设实践报告3000字
  • 网站制作项目执行免费制作微网站
  • 西安网站制作费用网站建设小程序开发报价
  • 深圳做针织衫服装的网站软件开发工具手机版
  • 网站域名注册的相关证书证明文件最珠海app
  • 网站规划建设与管理维护大学论文免费个人搭建网站
  • 网站解析时候让做别名企业密信app下载安装
  • 直播网站建设模板网站中文商标域名注册
  • 商务网站建设与管理读后感为什么公司要做网站
  • 高密 网站建设wordpress设置置顶文章
  • 购物京东商城西安官网seo哪家公司好
  • 专门做库存处理的网站沭阳建设网站
  • 建筑必看六个网站门户网站地方生活门户有哪些
  • 江阴 网站开发python基础教程百度亿
  • 邹城网站建设v556本校网站建设