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把应付金额转成字符串并打印。

相关新闻

最新新闻

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现 【免费下载链接】serenity The Serenity Operating System 🐞 项目地址: https://gitcode.com/GitHub_Trending/se/serenity 导读 本文以 getopt(3) 手册 为核心&a…

2026/10/1 19:32:24
轻量服务器还是ECS?大促云服务器选购与避坑实战指南

轻量服务器还是ECS?大促云服务器选购与避坑实战指南

每年大促节点,群里永远有人在问同一个问题:“38元的轻量服务器到底怎么抢?为什么我每次点进去都是已售罄?68元直购和99元的ECS我到底选哪个?”作为一个常年帮团队和自己采购云服务器的老用户,我太清楚这种纠…

2026/9/30 21:32:07
为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南 【免费下载链接】agents Multi-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity 项目地址:…

2026/9/30 19:41:56
PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署 【免费下载链接】PaddleOCR Turn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between i…

2026/10/1 19:32:23
Spring源码解析:构造器注入的类型转换与候选匹配机制

Spring源码解析:构造器注入的类型转换与候选匹配机制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 19:32:35
openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由 【免费下载链接】openai-agents-python A lightweight, powerful framework for multi-agent workflows 项目地址: https://gitcode.com/GitHub_Trending/op/openai-agents-pyth…

2026/9/30 21:32:11

日新闻

周新闻

月新闻