基本数据类型的相互转换

基本介绍

Golang 和 java / c 不同,Go 在不同类型的变量之间赋值时需要显式转换。也就是说 Golang 中数 据类型不能自动转换。

基本语法

表达式 T(v) 将值 v 转换为类型 T
T: 就是数据类型,比如 int32,int64,float32 等等
v: 就是需要转换的变量

案例演示

基本数据类型相互转换的注意事项

  1. Go 中,数据类型的转换可以是从 表示范围小–>表示范围大,也可以 范围大—>范围小
  2. 被转换的是变量存储的数据(即值),变量本身的数据类型并没有变化!
  3. 在转换中,比如将 int64 转成 int8 【-128—127】 ,编译时不会报错,只是转换的结果是按 溢出处理,和我们希望的结果不一样。 因此在转换时,需要考虑范围.

基本数据类型和 string 的转换

基本类型转 string 类型

方式 1:fmt.Sprintf("%参数", 表达式) 【个人习惯这个,灵活】 函数的介绍:

参数需要和表达式的数据类型相匹配
fmt.Sprintf()… 会返回转换后的字符串

案例演示

方式 2:使用 strconv 包的函数

案例说明

func main() {//strconv包中有一个函数Itoavar str stringvar num5 int = 4567str = strconv.Itoa(num5)fmt.Printf("str type %T str=%q\n", str, str)
}

string 类型转基本数据类型

使用时 strconv 包的函数

案例演示

//srting转其他类型
func main() {var str string = "true"var baaa bool//b , _//strconv.ParseBoool(str)会返回俩个值//只想获取value,不想获取err,使用_忽略errbaaa  , _ = strconv.ParseBool(str)fmt.Println("b type %T b=%v\n",baaa, baaa)var str2 string = "12345"var n1 int64n1 , _ = strconv.ParseInt(str2,10, 64)fmt.Printf("n1 type %T n1=%d\n",n1,n1)var str3 string = "123.456"var f1 float64f1 , _= strconv.ParseFloat(str3, 64)fmt.Printf("f1 type %T f1=%f\n",f1,f1)
}

说明一下

string 转基本数据类型的注意事项
在将 String 类型转成 基本数据类型时,要确保 String 类型能够转成有效的数据,比如 我们可以 把 “123” , 转成一个整数,但是不能把 “hello” 转成一个整数,如果这样做,Golang 直接将其转成 0 , 其它类型也是一样的道理. float => 0 bool => false
案例说明:

 var str4 string = "hello"var n3 int64 = 11n3,_ = strconv.ParseInt(str4, 10, 64)fmt.Printf("n3 type %T n3=%d\n",n3,n3)

Golang基本数据类型的相互转换相关推荐

  1. java单精度实型_Java的八种基本类型及其各种数据类型的相互转换

    一.八种基本类型 1.六种数字类型(四个整数型,两个浮点型) 字节型byte 8位-2^7到2^7短整型short 16位 整型int 32位 长整型long   64位 单精度float 32位   ...

  2. 数据类型的相互转换 ,字符编码

    一,复习: ''' 1,深浅拷贝 ls = [1,'a',[10]] 值拷贝:直接赋值 ls1 = ls,ls中的任何值发生改变,ls1也随之发生改变 浅拷贝:通过copy()方法 ls2 = ls. ...

  3. GoLang之数据类型byte、rune

    文章目录 GoLang之数据类型byte.rune 1.字符 2.字符分类 3.byte 3.1范围 3.2不加''正常输出 3.3加''赋值时输ASCII码 3.4赋值字母必须加'' 3.5不能加& ...

  4. Golang 基本数据类型

    前言 本文主要介绍 golang 的几种常用的基本数据类型,如整型,浮点型,字符,字符串,布尔型等,并介绍了一些常用的类型转换操作. Golang 是一种强类型语言,变量使用时需要进行强制类型定义,一 ...

  5. python的所有数据类型都可以相互转化吗_Python python 数据类型的相互转换

    #number 之间的相互转换 #int <=> float var1 = 1;print(type(var1)) # res1=float(var1)print(res1) #1.0 p ...

  6. char数组转string_String类和其它数据类型的相互转换

    对于上面的这些包装类,除了Character以外,都有可以直接使用字符串参数的构造函数,这也就使得我们将String类转换为这些数据类型变得相当之简单,即: Boolean(String s).Int ...

  7. golang笔记——数据类型

    25个关键字 程序声明:import, package 程序实体声明和定义:chan, const, func, interface, map, struct, type, var 程序流程控制:go ...

  8. golang基本数据类型string字符串常用方法代码示例

  9. golang基本数据类型默认值

最新文章

  1. LeetCode刷题记录10——434. Number of Segments in a String(easy)
  2. 电感计算软件_一文让你了解到共模电感和差模电感的差异
  3. EF sqlite3报错 System.Data.Entity.Core.EntityException: 在提供程序连接上启动事务时出错。有关详细信息,请参阅内部异常。...
  4. SpringCloud微服务注册调用入门-断路器
  5. Elasticsearch-head插件的安装与使用
  6. Java学习日报—JVM垃圾回收全解—2021/11/26
  7. 《SQL高级应用和数据仓库基础(MySQL版)》学习笔记 ·007【简单查询】
  8. NVM区数据备份机制
  9. Mysql中INSTR(str, substr)函数
  10. 数字化转型的四大工具模板
  11. 用Protel 99 SE学习原理图的设计及pcb的绘制
  12. cad转dwf简易教程
  13. 伴娘礼服上的年华(五)
  14. jena 查询 java_Jena搭建SPARQL查询RDF数据
  15. 聊聊游戏本推荐排行榜 这一款竟成黑马
  16. Linux-系统管理16-磁盘配额
  17. Android在中国的发展及就业前景解析
  18. uniapp 微信小程序配置全局主题色、实现动态修改主题色
  19. 地牢大师--(BFS+三维数组)
  20. 选择的串口 _ 不存在或开发板没有连接_PC 和开发板之间传输文件

热门文章

  1. Spring @Autowired Annotation
  2. 消息队列面试 - 为什么使用消息队列,消息队列有什么优点和缺点?
  3. 【苹果cms10 Maccmsv10 站群深度定制版 开发日志】 数据渲染模块
  4. 【Recat 应用】之 React 脚手架
  5. webview中js调用客户端
  6. mac docker 共享_如何在Docker for Mac中加快共享文件访问
  7. 您可能不知道可以使用Chrome开发者控制台执行的操作
  8. java 数据溢出和编译错误的差别
  9. python读取xlsx文件年月日变成数字_python转化excel数字日期为标准日期操作
  10. 安装ubuntu18.04虚拟机太慢