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 ...
随机推荐
- iOS---如何获取手机的本地照片和相册
__weak ViewController *weakSelf = self; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIO ...
- win10 64 位安装 MySQL(mysql-5.7.17-winx64)
版权声明:本文为搜集借鉴各类文章的原创文章,转载请注明出处:http://www.cnblogs.com/2186009311CFF/p/6517470.html. win10 64 位安装 MySQ ...
- javascript 通用定义
通用约定 注释 原则 As short as possible(如无必要,勿增注释):尽量提高代码本身的清晰性.可读性. As long as necessary(如有必要,尽量详尽):合理的注释.空 ...
- 博弈论 x
——关于博弈论 四道例题带你走进博弈论~ (考虑必败态,必胜态) Ps:要理解这种思想,首先要明白什么叫必败态.说简单点,必败态就是“在对方使用最优策略时,无论做出什么决策都会导致失败的局面”.其他的 ...
- 洛谷 P2590 BZOJ 1036 [ZJOI2008]树的统计
Time limit 10000 ms//另外,BZOJ只算所有点的总时限,所以可能会放过一些原本会TLE的代码 Memory limit 165888 kB OS Linux SourceZJOI2 ...
- 【转】DataRow复制一行到另一个DataTable
源地址:http://www.cnblogs.com/pains/archive/2007/11/22/969003.html 下面两个方法是DataRow复制一行到另一个DataTable的, ...
- VXcode学习
1.安装中文包(chinese) 2.打开控制面板ctrl+shift+p
- 数据库-SqlServer 行转列,列转行
两篇行转列,列转行的实例文章: 第1篇:https://www.cnblogs.com/cpcpc/archive/2013/04/08/3009021.html 第2篇:https://mp.wei ...
- CAS-4.2.7接入REST登录认证,移动端、C/S端登录解决方案
一.发送GET请求获取RSA公钥和JSESSIONID 请求地址:/cas/login,请求类型:GET curl -I http://cas.gfstack.geo:8080/cas/login 返 ...
- ORACLE内存管理之ASMM AMM
ORACLE ASMM ORACLE AMM ASMM转换至AMM AMM转换至ASMM