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 ... 
随机推荐
- php日志托管给apache处理
			php.ini配置: log_errors = On;不显示错误display_startup_errors = Offdisplay_errors = Off ;除了notice级别错误外,报告所有 ... 
- 搭建 .Net RabbitMQ 开发环境
			开发环境,window 10 64位,VS2017,系统账号需要用administrator. 1 先需要安装erlang语言开发包,一路默认安装就是了,地址:http://www.erlang.or ... 
- Linux命令行下常用svn命令
			1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/do ... 
- 大数据笔记(七)——Mapreduce程序的开发
			一.分析Mapreduce程序开发的流程 1.图示过程 输入:HDFS文件 /input/data.txt Mapper阶段: K1:数据偏移量(以单词记)V1:行数据 K2:单词 V2:记一次数 ... 
- Java中使用Redis的几种数据类型总结
			1.String,最基本的类型 方法 set.get 2.hash redis 127.0.0.1:6379> HMSET user:1 username redis.net.cn passw ... 
- MySQL Schedule Event
			建立事件历史日志表-- 用于查看事件执行时间等信息create table t_event_history ( dbname varchar(128) not null default ' ... 
- Redis实现存取数据+数据存取
			添加依赖: <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId> ... 
- mui初级入门教程(四)— 再谈webview,从小白变“大神”!
			文章来源:小青年原创发布时间:2016-06-05关键词:mui,html5+,webview转载需标注本文原始地址: http://zhaomenghuan.github.io/#!/blog/20 ... 
- 如何为我们的程序编写开发文档——Java文档注释
			Java文档注释是用于生成Java API文档的注释,通过在程序中的类.属性.方法部分加上注释,就可以用javadoc命令生成漂亮的API文档,是程序员进阶的必备技能. 注意,文档注释只说明紧跟其后的 ... 
- [转] python关于ctypes使用char指针与bytes相互转换的问题
			最近研究人脸识别,需要用python调用so动态库,涉及到c/c++中的指针字符串转Python的bytes对象的问题. 按照ctypes的文档,直观方式是先创建对应的类型数组,再将指针取地址一一赋值 ... 
