Go语言中,不同类型的变量之间不能自动转换,需要显式转换,这与Java和C都有区别

var i int32 =100
var n1 float32 = float(i) //将int32转换为float32

注意:若将int64转换成int8,编译时不会报错,但是结果按照溢出处理,所以转换需要考虑范围。

func main() {var in64 int64 = 1651235425var in8 int8 = int8(in64)fmt.Println("in64=", in64, "in8=", in8)

输出:

in64= 1651235425 in8= 97

其他基本数据类型与String的转换

fmt包

  • 可通过fmt.Sprintf(“参数”,表达式),Sprintf根据format参数生成格式化的字符串并返回该字符串。
func main() {var num1 int = 99var num2 float64 = 2.4467var str string = fmt.Sprintf("%d", num1)var str2 string = fmt.Sprintf("%f", num2)fmt.Printf("str类型:%T;str值:%s  str2类型:%T,str2 值:%s", str, str, str2, str2)
}

输出:

str类型:string;str值:99  str2类型:string,str2 值:2.446700

Strconv包

  • 可通过strconv包的函数
func main() {var num int = 99var num2 float64 = 23.456var bools bool = truestr := strconv.FormatInt(int64(num), 10)fmt.Printf("str type %T value %q \n", str, str)str1 := strconv.FormatFloat(num2, 'f', 10, 64) // 10为显示十位数字,fmt.Printf("str1 type is %T , value is %q \n", str1, str1)str2 := strconv.FormatBool(bools)fmt.Printf("str2 type is %T ,value is %q \n", str2, str2)
}

输出结果:

str type string value "99"
str1 type is string , value is "23.4560000000"
str2 type is string ,value is "true"

Int转String还可以使用Itoa函数

 var ints int = 10str := strconv.Itoa(ints)fmt.Println(str)

String转其他基本数据类型

使用strconv包的ParseXXX

下面我们仅以bool类型为例,其它类型同理

var str1 = "true"boo, _ := strconv.ParseBool(str1)

该函数会返回两个值,第一个是bool 第二个返回错误,, _可以忽略第二个返回值。我们此处只关心bool类型

注意

将String转换成其他数据类型时,要确保其参数能被转换成有效数据,若将“hello"转换成整数,那么Go会将其转换成0,其他类型也是转换成0所对应的值,如:bool型为false

Go语言基础(四)—String与其他基本数据类型的转换相关推荐

  1. [GO语言基础] 四.算术运算、逻辑运算、赋值运算、位运算及编程练习

    作为网络安全初学者,会遇到采用Go语言开发的恶意样本.因此从今天开始从零讲解Golang编程语言,一方面是督促自己不断前行且学习新知识:另一方面是分享与读者,希望大家一起进步.前文介绍了Golang的 ...

  2. stringbuilder寻找字符串位置可能存在多个 java_Java 语言基础amp;String

    Java 语言基础 String 字符串的不可变性 定义一个字符串 使用变量来赋值变量 String s2 = s; s2 保存了相同的引用值, 因为他们代表同一个对象 字符串连接 s = s.con ...

  3. java 数据类型转换的一场_Java基础 — 四类八种基本数据类型

    整型:整数类型int 一般的数据. long 极大的数据. short 用于特定的场合,比如底层的文件处理或者需要控制占用存储单元空间量的大数组. byte 用于特定的场合,比如底层的文件处理或者需要 ...

  4. 【C】C语言基础(包括:关键字、数据类型、输入输出)

    程序中的变与不变--变量与常量 标识符和关键字 标识符:用来标识程序中用到的变量名.函数名.类型名.数组名.文件名以及符号常量名的有效字符序列. 语法规则(部分): 标识符只能是由英文字母.数字和下划 ...

  5. String类与其他数据类型得转换

    一:与基本数据类型或者包装类 二.String与char型数组得转换 三.String类与字节数组byte[]之间的转换 输出的是字符中得ASCII码. getBytes使用的默认得编码集 可以自主设 ...

  6. go语言基础(四):继承、方法

    面向对象 在讲解具体面向对象编程之前,先说一下面向过程编程.我们前面学习都是面向过程的一种编程思想,接下来可以从生活中理解面向过程: 如果我们自己来修汽车,应该有哪些步骤呢? 第一步:找工具 第二步: ...

  7. java 格式化字符串_Java入门 - 语言基础 - 14.String类

    1.概述 字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串. 2.创建字符串 创建字符串最简单的方式如下: String gr ...

  8. 【机器视觉】 HDevelop语言基础(四)-流程控制语句

    00. 目录 文章目录 00. 目录 01. 概述 02. if 03. if-else 04. elseif 05. while 06. until 07. for 08. continue 09. ...

  9. R语言基础入门(3)之数据类型与相应运算1

    目录 一.常量与变量 1.常量 2.变量 二.数据类型 三.数值型向量 3.1 c() 函数 3.2 length(x) 3.3 numeric() 四.向量运算 1.标量和标量运算 2.向量与标量运 ...

最新文章

  1. 5万字的《Java面试手册》V1.0版本,高清PDF免费获取
  2. linux ping 报错 sendmsg: Operation not permitted
  3. 如何在linux下安装mysql5.7?
  4. 区块链BaaS云服务(32)同盾科技 IASC平台
  5. [Java基础][Java]toString()方法
  6. java正式测试数据隔离,开发环境要不要和测试环境隔离?
  7. AI能为智能手机带来哪些惊喜?Gartner列了这十大应用
  8. python urllib.parse_Python3的urllib.parse常用函数小结
  9. SqlServer得到生日(闰月考虑)
  10. java json 反序列化_java-如何将json字符串反序列化为对象
  11. c语言中用了double语句,求助 C语言 中 double语句用法
  12. Skyline软件二次开发初级——8如何在WEB页面中的三维地图上管理信息树
  13. iOS 16描述文件升级方法 iOS 16升级描述文件下载
  14. Matlab 黎卡提方程
  15. 学习《软件工程》心得
  16. office常用技巧总结【word篇】
  17. windows变量环境
  18. CVPR 2022 | 未知目标检测模块STUD:学习视频中的未知目标
  19. php打印马赛克,PHP-如何用PHP给一张图生成马赛克效果?
  20. Hmmer using Guide

热门文章

  1. PyTorch学习笔记:PyTorch初体验
  2. 【POJ3264】Balanced Lineup,线段树入门
  3. 20.校准相机——纯粹的方式,简单的方式,多平面校准_4
  4. 1.极限——ε-δ例子_7
  5. 2017.9.6 礼物 思考记录
  6. 2017.5.9 货车运输 思考记录
  7. 2017.3.8 太空飞行计划问题 失败总结
  8. 【英语学习】【Level 07】U05 Best Destination L5 Top choice
  9. MySQL令人咋舌的隐式转换
  10. 隐式连接时,windows下VS(包括2005、2008等)下配置OpenCV动态库的步骤