Golang数据类型总结及其转换
golang数据类型
- 基本类型:boolean,numeric,string类型的命名实例是预先声明的。
- 复合类型:array,struct,指针,function,interface,slice,map,channel类型(可以使用type构造)。
数据类型转换表
// []byte -> other type
[]byte => string : string([]byte)
[]byte => int : binary包处理, 查看下面 // int -> other type
int => string : s = strconv.Itoa(i)
int => int32 : i32 = int32(num)
int => int64 : i64 = int64(num)
int64/int32 => int : i = int(num)
int64 => string : strconv.FormatInt(int64, )
int64 => time.Duration : time.Duration(int64)
int32 => byte : bytes.NewBuffer() 看上面 int 和 byte 互转
int => float64 : float64(num)
// other type -> int
i = int(int32/int64)
float64/float32 => int(int64/int32) // string -> other type
string => int : i, err = strconv.Atoi(s)
string => bool : strconv.ParseBool("true")
string => float32 : strconv.ParseFloat(s, )
string => float64 : strconv.ParseFloat(s, )
string => uint : strconv.ParseUint()
string => int32/int64 : strconv.ParseInt(s, , /)
string => []byte : []byte(string)
string(16进制) => int32/int64 : strconv.ParseInt(s, , /) // other type -> string
int,int32,int64 => string : str1 := fmt.Sprintf("%d", i) // i可以是int/int32/int64
或 str2 := strconv.Itoa(i) // i为int
或 str3 := strconv.FormatInt(int64(i), ) // i可以是int/int32/int64
uint64 => string : strconv.FormatUint(unit64, )
bool => string : strconv.FormatBool(true)
float64 => string : strconv.FormatFloat(float64(), 'f', -, )
或 fmt.Sprintf("%.2f", float64) // array -> slice :
) copy(array[:], slice[:]) | 全部 copy(array[:], slice)
) for
for index, b := range someSlice {
array[index] = b
} // slice -> array
slice=>array : array[:]
数据类型说明
1. int类型中哪些支持负数
- 有符号(负号):int8 int16 int32 int64
- 无符号(负号):uint8 uint16 uint32 uint64
2. 浮点类型的值有float32和float64(没有 float 类型)
3. byte和rune特殊类型是别名
- byte就是unit8的别名
- rune就是int32的别名
4. int和uint取决于操作系统(32位机器上就是32字节,64位机器上就是64字节)
- uint是32字节或者64字节
- int和uint是一样的大小
5. 为了避免可移植性问题,除了byte(它是uint8的别名)和rune(它是int32的别名)之外,所有数字类型都是不同的。 在表达式或赋值中混合使用不同的数字类型时,需要转换。例如,int32和int不是相同的类型,即使它们可能在特定架构上具有相同的大小。
笔记参考:GO基本数据类型总结
Golang数据类型总结及其转换的更多相关文章
- golang 数据类型之间的转换
一.基本数据类型之间的转换 1.string到int int,err:=strconv.Atoi(string) 2.string到int64 int64, err := strconv.ParseI ...
- java中的、标识符、运算符以及数据类型之间的转换。
---恢复内容开始--- 数据类型之间的转换: 1:自动转换:就是不用说出要转换成什么类型,由java中的虚拟机自动将小数据类型转换成大数据类型,但大数据中的数据精度有可能被破坏. 2:强制转换:强制 ...
- Java基础——数据类型之间的转换
Java数据类型分为三大类,即布尔型.字符型和数值型.其中数值型又分为整型和浮点型.Java的基本数据类型(8种)为布尔型boolean(1字节):字符型char(2字节):整型byte(1字节).s ...
- C#中数据类型的安全转换(is,as)
原文 C#中数据类型的安全转换(is,as) 下面代码中,不能装箱,在强制类型转换时出错,因为之前 c 是 class 类型,而却要把它转换为 int 类型,这是不可以的.虽然编译器能通过编译,但是 ...
- JavaScript复习之--javascript数据类型隐式转换
JavaScript数据类型隐式转换.一,函数类 isNaN() 该函数会对参数进行隐式的Number()转换,如果转换不成功则返回true. alert() 输出的内容隐式的 ...
- Java中的基本数据类型和基本数据类型之间的转换
在Java中有8中基本数据类型,分别为: 整型: byte.short.int.long 浮点型:float.double 布尔型:boolean 字符型:char. byte: 8位, 封装 ...
- JAVA_SE基础——9.基本数据类型间的转换
前面我已经教会大家基本的数据类型进行了介绍, 然后这篇文章,我来介绍下,基本数据类型的转换. Java中有两种类型转换形式,分别是自动类型转换和强制类型转换. Step1.自动类型转换. 自动类型 ...
- JavaSE:数据类型之间的转换(附常见面试题)
数据类型之间的转换 分为以下几种情况: 1)低级到高级的自动类型转换: 2)高级到低级的强制类型转换(会导致溢出或丢失精度): 3)基本类型向类类型转换: 4)基本类型向字符串的转换: 5)类类型向字 ...
- 浅谈C#语言中的各种数据类型,与数据类型之间的转换
什么是数据类型? 数据类型,百度百科是这样解释的:数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作.这样的解释对于一个初学者来说未必太过于深奥. 简单点说,数据类型就是不同长度的 ...
随机推荐
- sqlbulkcopy 多表批量保存
/// <summary> /// 批量保存多表 /// </summary> /// <param name="dt1"></param ...
- 使用rsync
rsync是linux下同步文件的一个高效算法,用于同步更新两处计算机的文件和目录,并适当利用查找文件中的不同块以减少数据传输.rsync的主要特点就是增量传输,只对变更的部分进行传送. 增量同步算法 ...
- 城市经纬度 json 理解SignalR Main(string[] args)之args传递的几种方式 串口编程之端口 多线程详细介绍 递归一个List<T>,可自己根据需要改造为通用型。 Sql 优化解决方案
城市经纬度 json https://www.cnblogs.com/innershare/p/10723968.html 理解SignalR ASP .NET SignalR 是一个ASP .NET ...
- 什么是rpc
远程过程调用协议RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.RPC协议假定某些传输协议的存在,如TC ...
- C# C/S程序出错:ContextSwitchDeadlock is detected
选择菜单栏[调试]->[窗口]->[异常设置] 使用快捷键Ctrl + Alt + E,可以快速打开该对话框 通过取消勾选或者勾选进行设置即可. https://blog.csdn.net ...
- 【iCore4 双核心板_ARM】例程三十七:SDRAM实验——读写SDRAM
实验现象: 上电即开始读写SDRAM测试,测试过程中,蓝色LED点亮,如果出现错误,红色LED闪烁,测试成功,绿色LED点亮. 核心代码: int main(void) { /* USER CODE ...
- session多服务器共享的方案梳理
session的存储了解以前是怎么做的,搞清楚了来龙去脉,才会明白进行共享背后的思想和出发点.我喜欢按照这样的方式来问(或者去搞清楚):为什么要session要进行共享,不共享会什么问题呢? php中 ...
- Python中的retry
1.通过语言特性实现: for i in range(0,100): while True: try: # do stuff except SomeSpecificException: continu ...
- [译] 理解 LSTM(Long Short-Term Memory, LSTM) 网络
本文译自 Christopher Olah 的博文 Recurrent Neural Networks 人类并不是每时每刻都从一片空白的大脑开始他们的思考.在你阅读这篇文章时候,你都是基于自己已经拥有 ...
- Netty WebSocket 开发
代码: Server package netty.protocol.websocket.server; import io.netty.bootstrap.ServerBootstrap; impor ...