1. int转string

    // 法1: int转string
num_int := 10
num_str_2 := fmt.Sprintf("%b", num_int)
fmt.Printf("num_int的数据类型是%T, num_str_2的数据类型是%T, num_str_2=%s\n", num_int, num_str_2, num_str_2)
num_str_8 := fmt.Sprintf("%o", num_int)
fmt.Printf("num_int的数据类型是%T, num_str_8的数据类型是%T, num_str_8=%s\n", num_int, num_str_8, num_str_8)
num_str_10 := fmt.Sprintf("%d", num_int)
fmt.Printf("num_int的数据类型是%T, num_str_10的数据类型是%T, num_str_10=%s\n", num_int, num_str_10, num_str_10)
num_str_16 := fmt.Sprintf("%0x", num_int)
fmt.Printf("num_int的数据类型是%T, num_str_16的数据类型是%T, num_str_16=%s\n", num_int, num_str_16, num_str_16) // 法2: int转string
num1_int := 128
num1_str_2 := strconv.FormatInt(int64(num1_int), 2)
num1_str_8 := strconv.FormatInt(int64(num1_int), 8)
num1_str_10 := strconv.Itoa(num1_int)
num1_str_16 := strconv.FormatInt(int64(num1_int), 16)
fmt.Printf("num1_int的数据类型是%T, num1_str_2的数据类型是%T, num1_str_2=%s\n", num1_int, num1_str_2, num1_str_2)
fmt.Printf("num1_int的数据类型是%T, num1_str_8的数据类型是%T, num1_str_8=%s\n", num1_int, num1_str_8, num1_str_8)
fmt.Printf("num1_int的数据类型是%T, num1_str_10的数据类型是%T, num1_str_10=%s\n", num1_int, num1_str_10, num1_str_10)
fmt.Printf("num1_int的数据类型是%T, num1_str_16的数据类型是%T, num1_str_16=%s\n", num1_int, num1_str_16, num1_str_16)

输出结果为:

num_int的数据类型是int, num_str_2的数据类型是string, num_str_2=1010
num_int的数据类型是int, num_str_8的数据类型是string, num_str_8=12
num_int的数据类型是int, num_str_10的数据类型是string, num_str_10=10
num_int的数据类型是int, num_str_16的数据类型是string, num_str_16=a
num1_int的数据类型是int, num1_str_2的数据类型是string, num1_str_2=10000000
num1_int的数据类型是int, num1_str_8的数据类型是string, num1_str_8=200
num1_int的数据类型是int, num1_str_10的数据类型是string, num1_str_10=128
num1_int的数据类型是int, num1_str_16的数据类型是string, num1_str_16=80

2. float转string

    // 法1: float转string
num_float := 12.75
num_str := fmt.Sprintf("%f", num_float)
fmt.Printf("num_float的数据类型是%T,num_str的数据类型是%T,num_str=%s\n", num_float, num_str, num_str)
num_str_k3 := fmt.Sprintf("%.3f", num_float)
fmt.Printf("num_float的数据类型是%T,num_str_k3的数据类型是%T,num_str_k3=%s\n", num_float, num_str_k3, num_str_k3)
num_str_k1 := fmt.Sprintf("%.1f", num_float)
fmt.Printf("num_float的数据类型是%T,num_str_k1的数据类型是%T,num_str_k1=%s\n", num_float, num_str_k1, num_str_k1) // 法2: float转string
num1_float := 128.99000003253
num1_str_k8 := strconv.FormatFloat(num1_float, 'f', 8, 64)
fmt.Printf("num1_float的数据类型是%T, num1_str_k8的数据类型是%T, num1_str_k8=%s\n", num1_float, num1_str_k8, num1_str_k8)
num1_str_k2 := strconv.FormatFloat(num1_float, 'f', 2, 64)
fmt.Printf("num1_float的数据类型是%T, num1_str_k2的数据类型是%T, num1_str_k2=%s\n", num1_float, num1_str_k2, num1_str_k2)
num1_str_k0 := strconv.FormatFloat(num1_float, 'f', 0, 64)
fmt.Printf("num1_float的数据类型是%T, num1_str_k0的数据类型是%T, num1_str_k0=%s\n", num1_float, num1_str_k0, num1_str_k0)

输出结果为:

num_float的数据类型是float64,num_str的数据类型是string,num_str=12.750000
num_float的数据类型是float64,num_str_k3的数据类型是string,num_str_k3=12.750
num_float的数据类型是float64,num_str_k1的数据类型是string,num_str_k1=12.8
num1_float的数据类型是float64, num1_str_k8的数据类型是string, num1_str_k8=128.99000003
num1_float的数据类型是float64, num1_str_k2的数据类型是string, num1_str_k2=128.99
num1_float的数据类型是float64, num1_str_k0的数据类型是string, num1_str_k0=129

3. bool转string

    // 法1: bool转string
b_bool := true
b_str := fmt.Sprintf("%t", b_bool)
fmt.Printf("b_bool的数据类型是%T, b_str的数据类型是%T, b_str=%s\n", b_bool, b_str, b_str) // 法2: bool转string
b1_bool := false
b1_str := strconv.FormatBool(b1_bool)
fmt.Printf("b1_bool的数据类型是%T, b1_str的数据类型是%T, b1_str=%s\n", b1_bool, b1_str, b1_str)

输出结果为:

b_bool的数据类型是bool, b_str的数据类型是string, b_str=true
b1_bool的数据类型是bool, b1_str的数据类型是string, b1_str=false

4. char 转 string

这个有点特殊,打印出来的数据类型不是char型

    c_char := '@'
c_str := fmt.Sprintf("%c", c_char)
fmt.Printf("c_char的数据类型是%T, c_str的数据类型是%T, c_str=%s\n", c_char, c_str, c_str)

输出结果为:

c_char的数据类型是int32, c_str的数据类型是string, c_str=@

还需进一步研究。

源代码:

package main

import (
"fmt"
"strconv"
) func main() { // 法1: int转string
num_int := 10
num_str_2 := fmt.Sprintf("%b", num_int)
fmt.Printf("num_int的数据类型是%T, num_str_2的数据类型是%T, num_str_2=%s\n", num_int, num_str_2, num_str_2)
num_str_8 := fmt.Sprintf("%o", num_int)
fmt.Printf("num_int的数据类型是%T, num_str_8的数据类型是%T, num_str_8=%s\n", num_int, num_str_8, num_str_8)
num_str_10 := fmt.Sprintf("%d", num_int)
fmt.Printf("num_int的数据类型是%T, num_str_10的数据类型是%T, num_str_10=%s\n", num_int, num_str_10, num_str_10)
num_str_16 := fmt.Sprintf("%0x", num_int)
fmt.Printf("num_int的数据类型是%T, num_str_16的数据类型是%T, num_str_16=%s\n", num_int, num_str_16, num_str_16) // 法2: int转string
num1_int := 128
num1_str_2 := strconv.FormatInt(int64(num1_int), 2)
num1_str_8 := strconv.FormatInt(int64(num1_int), 8)
num1_str_10 := strconv.Itoa(num1_int)
num1_str_16 := strconv.FormatInt(int64(num1_int), 16)
fmt.Printf("num1_int的数据类型是%T, num1_str_2的数据类型是%T, num1_str_2=%s\n", num1_int, num1_str_2, num1_str_2)
fmt.Printf("num1_int的数据类型是%T, num1_str_8的数据类型是%T, num1_str_8=%s\n", num1_int, num1_str_8, num1_str_8)
fmt.Printf("num1_int的数据类型是%T, num1_str_10的数据类型是%T, num1_str_10=%s\n", num1_int, num1_str_10, num1_str_10)
fmt.Printf("num1_int的数据类型是%T, num1_str_16的数据类型是%T, num1_str_16=%s\n", num1_int, num1_str_16, num1_str_16) // 法1: float转string
num_float := 12.75
num_str := fmt.Sprintf("%f", num_float)
fmt.Printf("num_float的数据类型是%T,num_str的数据类型是%T,num_str=%s\n", num_float, num_str, num_str)
num_str_k3 := fmt.Sprintf("%.3f", num_float)
fmt.Printf("num_float的数据类型是%T,num_str_k3的数据类型是%T,num_str_k3=%s\n", num_float, num_str_k3, num_str_k3)
num_str_k1 := fmt.Sprintf("%.1f", num_float)
fmt.Printf("num_float的数据类型是%T,num_str_k1的数据类型是%T,num_str_k1=%s\n", num_float, num_str_k1, num_str_k1) // 法2: float转string
num1_float := 128.99000003253
num1_str_k8 := strconv.FormatFloat(num1_float, 'f', 8, 64)
fmt.Printf("num1_float的数据类型是%T, num1_str_k8的数据类型是%T, num1_str_k8=%s\n", num1_float, num1_str_k8, num1_str_k8)
num1_str_k2 := strconv.FormatFloat(num1_float, 'f', 2, 64)
fmt.Printf("num1_float的数据类型是%T, num1_str_k2的数据类型是%T, num1_str_k2=%s\n", num1_float, num1_str_k2, num1_str_k2)
num1_str_k0 := strconv.FormatFloat(num1_float, 'f', 0, 64)
fmt.Printf("num1_float的数据类型是%T, num1_str_k0的数据类型是%T, num1_str_k0=%s\n", num1_float, num1_str_k0, num1_str_k0) // 法1: bool转string
b_bool := true
b_str := fmt.Sprintf("%t", b_bool)
fmt.Printf("b_bool的数据类型是%T, b_str的数据类型是%T, b_str=%s\n", b_bool, b_str, b_str) // 法2: bool转string
b1_bool := false
b1_str := strconv.FormatBool(b1_bool)
fmt.Printf("b1_bool的数据类型是%T, b1_str的数据类型是%T, b1_str=%s\n", b1_bool, b1_str, b1_str) c_char := '@'
c_str := fmt.Sprintf("%c", c_char)
fmt.Printf("c_char的数据类型是%T, c_str的数据类型是%T, c_str=%s\n", c_char, c_str, c_str) }

OK。

第三篇 -- Go语言其他类型转String方法的更多相关文章

  1. 15天玩转redis —— 第三篇 无敌的列表类型

     据说60%的人使用redis看重的是redis中的list类型,那这个list有什么用呢???不用我说大家都明白,做队列使用呗,为什么用它呢,很简单呗, 因为有了它我就不需要专门的MQ产品啦,比如说 ...

  2. 第三篇T语言实例开发,图色操作

    ---恢复内容开始--- 图色的基本操作 1.找颜色色命令的基本操作 坐标点取色:获取指定坐标点的颜色 区域找色:在指定区域里找某一个颜色 模糊找色:在指定区域里找某一个颜色,可以设置相似度 多点找色 ...

  3. 第三篇T语言热键启动方法

    热键控件 热键控件的使用方法 第一步:选择热键添加到面板上. 第二步:热键控件属性选择热键键值. 第三步:添加热键事件功能. 热键模式的选择 1.普通模式 2.软件模式 3.硬件模式 脚本的基本操作 ...

  4. 深入理解javascript选择器API系列第三篇——h5新增的3种selector方法

    × 目录 [1]方法 [2]非实时 [3]缺陷 前面的话 尽管DOM作为API已经非常完善了,但是为了实现更多的功能,DOM仍然进行了扩展,其中一个重要的扩展就是对选择器API的扩展.人们对jQuer ...

  5. 深入理解javascript选择器API系列第三篇——HTML5新增的3种selector方法

    前面的话 尽管DOM作为API已经非常完善了,但是为了实现更多的功能,DOM仍然进行了扩展,其中一个重要的扩展就是对选择器API的扩展.人们对jQuery的称赞,很多是由于jQuery方便的元素选择器 ...

  6. 深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)

    作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-language- ...

  7. [转]深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)

    以下内容转自: 作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-l ...

  8. Scala语言笔记 - 第三篇(容器方法篇)

    Scala语言笔记 - 第三篇(容器方法篇) 目录 Scala语言笔记 - 第三篇(容器方法篇) map和flapMap方法: ​ 最近研究了下scala语言,这个语言最强大的就是它强大的函数式编程( ...

  9. Lambda语言篇 —— lambda, 方法引用, 目标类型和默认方法

    本文介绍了Java SE 8中新引入的lambda语言特性以及这些特性背后的设计思想.这些特性包括: lambda表达式(又被成为"闭包"或"匿名方法") 方法 ...

随机推荐

  1. 【Linux进阶】使用grep、find、sed以及awk进行文本操作

    目录 一.元字符 二.grep命令 1. 过滤出包含某字符串的行 2. 过滤出以某字符串开头(结尾)的行 3. 过滤出包含某字符串及其相邻的行 4. 过滤出不包含某关键字的行 5. 过滤出包含多个字符 ...

  2. 【题解】hdu2044一只小蜜蜂

    斐波拉契数列的应用 题目 有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行.请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数.其中,蜂房的结构如下所示. Input输入数据的第一行是一个整数N,表 ...

  3. 3-Partition 问题

    这是算法考试的最后一题,当时匆匆写了个基于 Subset Sum 的解法,也没有考虑是否可行. 问题描述如下: 给定 \(n\) 个正整数 \(a_1 \dots a_n\) ,设下标的整数集合 \( ...

  4. windows 上 OpenSSH 服务 启用秘钥登录(微软真心逆天)

    windows 上 OpenSSH 服务 启用秘钥登录(微软真心逆天) windows 安装 OpenSSH 服务 最近需要在windows 服务器上部署自动发布程序,那么就需要用到 scp 和 ss ...

  5. python-geopandas读取、创建shapefile文件

    作者:fungis 描述:一个热带生活.乐于分享.努力搬砖的giser 交流邮箱:fungis@163.com shapefile是GIS中非常重要的一种数据类型,在ArcGIS中被称为要素类(Fea ...

  6. WebGPU性能测试分析

    大家好,本文对WebGPU进行性能测试和分析,目的是为了对比WebGL和WebGPU在"渲染"和"计算"两个维度的性能差异,具体表现为CPU性能和FPS性能两个 ...

  7. Java:Apache Commons 工具类介绍及简单使用

    Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下面是我这几年做开发过程中自己用过的工具类做简单介绍. Commons简介 组件 功能介绍 commo ...

  8. 2020 DJBCTF RE wp

    1.anniu 吐槽:浓浓一股杂项的味道,妈的,用xspy和resource har加ida死活搜不到回调函数,淦 下一个灰色按钮克星,直接把灰色的按钮点亮,直接点击就可以出了,软件下载链接:http ...

  9. mybatis框架的第二天

    一.mybatis的基础crud的操作 先在接口中,写对应的方法名称,返回类型,访问符. 之后在映射配置文件中,写具体的实现 二.mybati中crud的细节 1.模糊查询 这是接口中 这是xml中 ...

  10. centos安装报错:license information (license not accepted)

    前言:在最近部署的centos系统发现个问题 出现报错:安装配置完成后,重启虚拟机出现license  information  (license not accepted) 截图: 解决方案: 在界 ...