Go语言中各种数据格式转换
Go语言各种数据类型格式转换
package main import (
"encoding/json"
"fmt"
"reflect"
"strconv"
) type User struct {
Id int `json:"id"`
Name string `json:"name"`
} func main() {
//string到int
n10, _ := strconv.Atoi("12")
fmt.Println(reflect.TypeOf(n10))
// string到int64
n64, _ := strconv.ParseInt("12", 10, 64)
fmt.Println(reflect.TypeOf(n64))
// string to float32、float64
f_32, _ := strconv.ParseFloat("3.1415", 32)
f_64, _ := strconv.ParseFloat("3.1415", 64)
fmt.Printf("%T\n", f_32) // float64
fmt.Printf("%T\n", f_64) // int到string
s1 := strconv.Itoa(11)
fmt.Println(reflect.TypeOf(s1))
// int64到string
s2 := strconv.FormatInt(11,10)
fmt.Println(reflect.TypeOf(s2))
// float32/64 to string
s3 := strconv.FormatFloat(3.1415, 'E', -1, 32)
s4 := strconv.FormatFloat(3.1415, 'E', -1, 64)
fmt.Println(reflect.TypeOf(s3))
fmt.Println(reflect.TypeOf(s4)) // int和int64
n_10_64 := int64(11)
fmt.Println(reflect.TypeOf(n_10_64))
// int64 to int
n_64_10 := int(n_10_64)
fmt.Println(reflect.TypeOf(n_64_10)) s := `{"id": 1, "name": "wxnacy"}` // 将字符串反解析为结构体
var user User
_ = json.Unmarshal([]byte(s), &user)
fmt.Println(user) // {1 wxnacy} // 将字符串反解析为字典
var d map[string]interface{}
_ = json.Unmarshal([]byte(s), &d)
fmt.Println(d) // map[id:1 name:wxnacy] // 将字符串反解析为数组
s = `[1, 2, 3, 4]`
var a []int
_ = json.Unmarshal([]byte(s), &a)
fmt.Println(a) // [1 2 3 4] // 将结构体解析为字符串
str_user, _ := json.Marshal(user)
fmt.Println(string(str_user))// {"id":1,"name":"wxnacy"}
// 数组解析为字符串
str_a, _ := json.Marshal(a)
fmt.Println(string(str_a)) // [1,2,3,4] <nil>
// map解析为字符串
str_d, _ := json.Marshal(d)
fmt.Println(string(str_d)) // {"id":1,"name":"wxnacy"} <nil>
}
Go语言中各种数据格式转换的更多相关文章
- 【转】在Python的struct模块中进行数据格式转换的方法
这篇文章主要介绍了在Python的struct模块中进行数据格式转换的方法,文中还给出了C语言和Python语言的数据类型比较,需要的朋友可以参考下 Python是一门非常简洁的语言,对于数据类型的表 ...
- java语言中数值自动转换的优先顺序
转换原则:从低精度向高精度转换byte .short.int.long.float.double.char数据类型的转换,分为自动转换和强制转换.自动转换是程序在执行过程中“悄然”进行的转换,不需要用 ...
- Go语言中的数据格式(json、xml 、msgpack、protobuf)
在分布式的系统中,因为涉及到数据的传输,所以一定会进行数据的交换,此时就要定义数据交换的格式,例如二进制.Json.Xml等等.本篇文章就是总结一下常用的几种数据格式. 一.Json格式 如果想使用J ...
- c语言中类型隐性转换的坑
谨记:在C语言中,当两种不同类型之间运算时,低字节长度类型会向高自己长度类型转换,有符号会向无符号类型转换. 举例子如下: #include <stdio.h> void func(voi ...
- SpringMVC中Json数据格式转换
1 @RequestBody 作用: @RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口将读到的内容转换为 ...
- C#中的数据格式转换 (未完待更新)
一.string to int int intA = 0;1.intA =int.Parse(str);2.int.TryParse(str, out intA);3.intA = Convert.T ...
- C语言中格式化输出的转换说明的fldwidth和precision解析
首先说什么是C语言的格式化输出,就是printf和它的几个变种(grep -E "v?(sn|s|f)printf").像这些函数都有一个参数format,format中可以加点转 ...
- 页面输入的数据格式转换类:BaseAction(经常使用于Struts框架中)
在我们接收页面传来的数据时,这些数据都是以String类型接收的,所以要进行数据格式转换,这时候就能够统一为它们进行转换,并且在处理这些数据的类中能够继承ActionSupport类,然后让每个接收数 ...
- C++ 语言中的重载、内联、缺省参数、隐式转换等机制展现了很多优点
C++ 语言中的重载.内联.缺省参数.隐式转换等机制展现了很多优点,但是这些 优点的背后都隐藏着一些隐患.正如人们的饮食,少食和暴食都不可取,应当恰到好处. 我们要辨证地看待 C++的新机制,应该恰如 ...
随机推荐
- python爬取实习僧招聘信息字体反爬
参考博客:http://www.cnblogs.com/eastonliu/p/9925652.html 实习僧招聘的网站采用了字体反爬,在页面上显示正常,查看源码关键信息乱码,如下图所示: 查看网页 ...
- Java中的循环结构进阶
循环结构进阶 学习本章用到的单词 triangle:三角形 circle:圆形 diamond:钻石 password:密码 row:行.排列 二重循环结构 简单的说:二重循环就是一个循环体内又包含另 ...
- Wireshark基本使用(1)
原文出处: EMC中文支持论坛 按照国际惯例,从最基本的说起. 抓取报文: 下载和安装好Wireshark之后,启动Wireshark并且在接口列表中选择接口名,然后开始在此接口上抓包.例如,如果想要 ...
- [BUUCTF]PWN——jarvisoj_level3
jarvisoj_level3 附件 步骤 例行检查,32位,nx保护 运行一下程序 32位ida载入,shift+f12没有看到程序里有可以直接利用的后面函数,根据运行时的字符串找到了程序的关键函数 ...
- 返回记录中的指定内容Record.Field…(Power Query 之 M 语言)
返回指定字段: = Record.Field( 记录, "字段名") = Record.FieldOrDefault( 记录, "字段名", 找不到时返回的值) ...
- CF1461A String Generation 题解
Content 构造一个仅由 a,b,c 三个字符组成,且最长回文子串长度不超过 \(k\) 的长度为 \(n\) 的字符串. 数据范围:数据组数 \(\leqslant 10\),\(1\leqsl ...
- java 多线程:线程池的使用Executors~ExecutorService; newCachedThreadPool;newFixedThreadPool(int threadNum);ScheduledExecutorService
1,为什么要使用线程池:Executors 系统启动一个新线程的成本是比较高的,因为它涉及与操作系统交互.在这种情形下,使用线程池可以很好地提高性能,尤其是当程序中需要创建大量生存期很短暂的线程时,更 ...
- powerdesigner给列加上注释步骤
powerdesigner给列加上注释步骤如图:
- Windows 11实现录屏直播,搭建Nginx的rtmp服务
先!下载几个工具呗 官方下载FFmpeg:http://www.ffmpeg.org 官方下载nginx-rtmp-module:https://github.com/arut/nginx-rtmp- ...
- Coder 投稿 | mPaaS 的多版本接入(Android)
本文作者:mPaaS 用户「Q-Coder」 同时欢迎更多的开发者向 mPaaS 投稿 原文:blog.csdn.net/yqq577/article/details/116801705 前言 对于 ...