go中string类型转换为基本数据类型的方法
代码
// string类型转基本数据类型
package main
import (
"fmt"
"strconv"
)
func main() {
str1 := "false"
var b bool
// 函数ParseBool会返回两个值
// "_"表示会忽略掉第二个返回值
b, _ = strconv.ParseBool(str1)
fmt.Printf("str1原值为%q, 转换为%T类型, 值为%v\n", str1, b, b) // str1原值为"false", 转换为bool类型, 值为false
str2 := "-100"
var n1 int64
// ParseInt函数中,第二个参数表示进制,第三个参数表示位数
// 注意该函数的返回值为int64类型
n1, _ = strconv.ParseInt(str2, 10, 64)
fmt.Printf("str2原值为%q, 转换为%T类型, 值为%v\n", str2, n1, n1) // str2原值为"-100", 转换为int64类型, 值为-100
str3 := "128"
var n2 uint8
// n3的类型是uint64
n3, _ := strconv.ParseUint(str3, 10, 64)
n2 = uint8(n3)
fmt.Printf("str3原值为%q, 转换为%T类型, 值为%v\n", str3, n2, n2) // str3原值为"128", 转换为uint8类型, 值为128
str4 := "-3.141592678"
var f1 float32
// f2的类型为float64
f2, _ := strconv.ParseFloat(str4, 64)
f1 = float32(f2)
// 注意转换之后精度有损失
fmt.Printf("str4原值为%q, 转换为%T类型, 值为%v\n", str4, f1, f1) // str4原值为"-3.141592678", 转换为float32类型, 值为-3.1415927
// 要确保string类型能够转换成有效的数据,否则会被转换成对应类型的默认值,
// 比如:字符串"today"被转换为整数后值为0,转换成浮点数值为0,转换成布尔值为false。
str5 := "today"
c1, _ := strconv.ParseInt(str5, 10, 64)
fmt.Printf("str5原值为%q, 转换为%T类型, 值为%v\n", str5, c1, c1) // str5原值为"today", 转换为int64类型, 值为0
c2, _ := strconv.ParseFloat(str5, 64)
fmt.Printf("str5原值为%q, 转换为%T类型, 值为%v\n", str5, c2, c2) // str5原值为"today", 转换为float64类型, 值为0
c3, _ := strconv.ParseBool(str5)
fmt.Printf("str5原值为%q, 转换为%T类型, 值为%v\n", str5, c3, c3) // str5原值为"today", 转换为bool类型, 值为false
str6 := "711today"
c4, _ := strconv.ParseInt(str6, 10, 64)
fmt.Printf("str6原值为%q, 转换为%T类型, 值为%v\n", str6, c4, c4) // str6原值为"711today", 转换为int64类型, 值为0
c5, _ := strconv.ParseFloat(str6, 64)
fmt.Printf("str6原值为%q, 转换为%T类型, 值为%v\n", str6, c5, c5) // str6原值为"711today", 转换为float64类型, 值为0
c6, _ := strconv.ParseBool(str6)
fmt.Printf("str6原值为%q, 转换为%T类型, 值为%v\n", str6, c6, c6) // str6原值为"711today", 转换为bool类型, 值为false
}
总结

go中string类型转换为基本数据类型的方法的更多相关文章
- java中String类型转换为float类型
import java.io.*; public class Demo1{ public static void main(String args[]) { String df="12.2& ...
- UWP中String类型如何转换为Windows.UI.Color
原文:UWP中String类型如何转换为Windows.UI.Color 我在学习过程中遇到的,我保存主题色为string,但在我想让StatusBar随着主题色变化时发现没法使用. ThemeCol ...
- 小问题,小细节要注意(string类型转换为bool类型)
一个表中的推荐字段是bit类型的,添加的时候推荐有两个值,如<asp:RadioButtonList ID="RadioButtonList1" runat="se ...
- C++中将string类型转换为int, float, double类型 主要通过以下几种方式:
C++中将string类型转换为int, float, double类型 主要通过以下几种方式: # 方法一: 使用stringstream stringstream在int或float类型转换为 ...
- Java进阶(二十三)java中long类型转换为int类型
java中long类型转换为int类型 由int类型转换为long类型是向上转换,可以直接进行隐式转换,但由long类型转换为int类型是向下转换,可能会出现数据溢出情况: 主要以下几种转换方法,供参 ...
- Redis 中 String 类型的内存开销比较大
使用 String 类型内存开销大 1.简单动态字符串 2.RedisObject 3.全局哈希表 使用 Hash 来存储 总结 参考 使用 String 类型内存开销大 如果我们有大量的数据需要来保 ...
- Java中String类型细节
Java中String类型细节 一 . String两种初始化方式 1 . String str1= “abc”;//String类特有的创建字符对象的方式,更高效 在字符串缓冲区中检测”abc”是否 ...
- Java中String类型详解
这篇博客是我一直想总结的,这两天一直比较忙,先上传下照片吧,过后有时间再弄成正常的. 本文主要是对Java中String类型的总结,包括其在JVM中是怎么存储的...
- c++中 string类型 转为 char []类型
将string类型转换为字符数组char [] char arr[50]; //数组大小根据s的大小确定 string s= "12slfjksldkfjlsfk"; int le ...
随机推荐
- handy源码阅读(六):udp类
分为UdpServer类和UdpConn类. struct UdpServer : public std::enable_shared_from_this<UdpServer>, priv ...
- 【微信小程序】setData的使用以及注意事项
Page.prototype.setData(Object data, Function callback) setData 函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的 this.da ...
- React Native 之项目的启动
运行项目有两种方法 1. 到根目录,执行 react-native run-ios 命令 会开启一个本地服务,加载jsbundle文件,然后是去index.js文件 import {AppRegist ...
- tapmode="hover"属性
.hover{ opacity: .; } <span tapmode="hover" onclick="fnOpen()">open</sp ...
- Oulipo【Hash】
Oulipo Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 45515 Accepted: 18181 Descript ...
- 手动写Makefile编译Android NDK的so
之所以摒弃NDK,是因为NDK编译出来的so太大,而且导出表总有一些没用的符号.而且手动编译的话,可以得到编译过程中间的.i和.s文件,可以删除一些没用的汇编代码.现在代码列出来:我的NDK C的代码 ...
- jsoncpp 能做什么
jsoncpp能做什么1)跨平台跨语言动态信息数据交换.2)作为格式化配置文件使用3)对应数据结构数据类型做序列化和反序列化4)value::toStyledString 格式化json串输出 一.w ...
- VMware 15 搭建win 10 实操步骤+共享文件+激活操作
写于:2018.12.22 一.简介: VMware 15 里搭建win 10是件很坑的事.我尝试了3种方法,最后才搭建成功.为了不让网友们不在走我走过的坑,特写了本文. 坑一:用老毛桃.大白菜搭 ...
- GPG(pgp)加解密中文完整教程
一.介绍 我们都知道,互联网是不安全的,但其上所使用的大部分应用,如Web.Email等一般都只提供明文传输方式(用https.smtps等例外).所以,当我们需要传输重要文件时,应该对当中的信息加密 ...
- docker学习与应用
概要 众所周知,Docker是当前非常火的虚拟化容器技术,对于它的优势以及使用场景网上的资料非常多,这里我推荐大家去这个网站去详细学习docker. 我这里就写一下作为一名后端开发程序员,自己学习do ...