Go语言第四章(类型转换) 类型转换实际开发里不同类型之间经常需要互相转换字符串转数字、数字转字符串、浮点数转整数、整数转浮点数等等。数字的转换比如有一个浮点数3.1415926535想把它变成整数可以用int()来转换packagemainimportfmtfuncmain(){num:3.1415926535intNum:int(num)fmt.Println(intNum)// 3}可以看到int()会把浮点数转成整数并直接舍去小数部分不是四舍五入。其他数值类型的转换写法也类似记起来很简单——跟定义类型时的名字一模一样int()转为intint8()转为int8int16()转为int16int32()转为int32int64()转为int64uint()转为uintuint8()转为uint8uint16()转为uint16uint32()转为uint32uint64()转为uint64float32()转为float32float64()转为float64数字转字符串数字和字符串之间的转换要用strconvstring convert字符串转换包。比如把整数3转成字符串packagemainimport(fmtstrconv)funcmain(){num:3strNum:strconv.Itoa(num)fmt.Printf(类型: %T,值: %v,strNum,strNum)// 类型: string,值: 3}几点说明导入多个包时用()分组每个包独占一行。strconv.Itoa()就是Int to ASCII把整数转成字符串字符串本质上是字符序列。fmt.Printf()里%T打印类型%v打印值。字符串转数字反过来字符串转数字也很常见。Go 里字符串和数字不能直接运算必须先转成同一类型。比如这样会报错vara10varb20varcab// 错误字符串和数字不能直接运算这时可以用strconv.Atoi()把字符串转成整数packagemainimport(fmtstrconv)funcmain(){str:10num,_:strconv.Atoi(str)fmt.Printf(类型: %T,值: %v,num,num)// 类型: int,值: 10}Atoi是ASCII to Int的缩写。它会返回两个值转换结果和错误。转换失败时第二个返回值不为nil这里用_忽略错误表示暂时不处理失败情况。字符串转布尔值字符串转布尔用strconv.ParseBool()。它同样返回「结果 错误」两个值packagemainimport(fmtstrconv)funcmain(){str:trueb,_:strconv.ParseBool(str)fmt.Printf(类型: %T,值: %v,b,b)// 类型: bool,值: true}ParseBool能识别的真值有1、t、T、TRUE、true、True假值有0、f、F、FALSE、false、False。其他字符串都会转换失败。布尔值转字符串反过来用strconv.FormatBool()把布尔值转成字符串结果只会是true或falsepackagemainimport(fmtstrconv)funcmain(){flag:truestr:strconv.FormatBool(flag)fmt.Printf(类型: %T,值: %v,str,str)// 类型: string,值: true}作业数值转换声明一个float64变量值为9.99用int()转成整数并打印再把结果用float64()转回去观察小数部分是否还在。数字转字符串声明一个int变量表示年龄用strconv.Itoa()转成字符串再用fmt.Printf打印类型和值确认类型是string。字符串转数字声明两个字符串15和27分别用strconv.Atoi()转成整数后相加打印和。布尔转换把字符串1、false、yes分别传给strconv.ParseBool()打印每次转换的结果和错误这次不要用_忽略错误看看哪些能成功。综合练习声明字符串价格199.5和折扣标记true。先把价格用strconv.ParseFloat(str, 64)转成float64折扣标记用ParseBool转成布尔若享受折扣则打八折最后用strconv.FormatFloat把应付金额转成字符串并打印。

相关新闻

最新新闻

行为树与py_trees:从状态机到模块化AI决策的Python实践

行为树与py_trees:从状态机到模块化AI决策的Python实践

1. 从状态机到行为树:为什么我们需要更优雅的决策逻辑如果你做过游戏AI、机器人控制或者任何需要复杂决策逻辑的系统,大概率都跟状态机打过交道。状态机(FSM)是个好东西,直观、简单,画几个圈圈和箭头就能把…

2026/8/3 1:17:54
Pandas DataFrame.append()弃用:性能陷阱与高效数据合并方案详解

Pandas DataFrame.append()弃用:性能陷阱与高效数据合并方案详解

1. 问题缘起:一个“过时”的错误如何成为数据处理的拦路虎 如果你最近在升级了pandas版本后,运行一段曾经完美工作的数据处理脚本,突然遇到了 AttributeError: ‘DataFrame‘ object has no attribute ‘append‘ 这个报错,先别…

2026/8/3 1:17:53
Claude Cowork重塑AI办公:从Copilot到协同工作的范式转移

Claude Cowork重塑AI办公:从Copilot到协同工作的范式转移

1. 从“Copilot”到“Cowork”:AI办公的范式转移最近,如果你关注AI和办公软件,一定被“Claude杀入Office全家桶”这样的标题刷屏了。这背后,是Anthropic公司推出的Claude for Microsoft 365(内部代号“Cowork”&#x…

2026/8/3 1:17:53
腾讯鹅虾平台:零代码构建AI Agent,无缝集成QQ飞书钉钉

腾讯鹅虾平台:零代码构建AI Agent,无缝集成QQ飞书钉钉

1. 项目概述:当“养虾”不再是技术活 最近,腾讯悄悄上线了一个叫「鹅虾」的新玩意儿,在圈子里小火了一把。这名字乍一听有点摸不着头脑,但如果你最近关注过AI Agent(智能体)或者企业办公自动化,…

2026/8/3 1:17:53
面对完全陌生的线上应用,我靠这套“找日志“方法论,10 分钟摸清家底

面对完全陌生的线上应用,我靠这套“找日志“方法论,10 分钟摸清家底

为什么"陌生应用排障"这么让人崩溃 我以前遇到一些项目,发现他们遇到对自己的应用了解很少: 点开服务器一看,进程名看不懂,目录结构乱七八糟,日志文件几十个,不知道该看哪个。 然后是乱。上来就 …

2026/8/3 1:17:53
双拼方案转换:从肌肉记忆到认知映射的专项训练指南

双拼方案转换:从肌肉记忆到认知映射的专项训练指南

1. 从“肌肉记忆”到“认知转换”:双拼方案差异的本质如果你已经熟练掌握了某一种双拼方案,比如小鹤双拼,然后因为工作环境、设备限制或者单纯想尝试新事物,需要切换到自然码或者微软双拼,你可能会发现一个有趣又有点恼…

2026/8/3 1:12:53