golang 类型转换只能显性转换 不能自动转换

基本数据类型间的转换

	var x1 int = 2
var x2 int16
var x3 int8 x2 = 200 + x1
x3 = 200 + x1

.\test.go:3:8: imported and not used: "fmt"

.\test.go:21:5: cannot use 200 + x1 (type int) as type int16 in assignment

.\test.go:22:5: cannot use 200 + x1 (type int) as type int8 in assignment


	var x1 int = 2
	var x2 int16
	var x3 int8

	x2 = 200 + int16(x1)
	x3 = 200 + int8(x1)

.\test.go:22:11: constant 200 overflows int8

基本数据类型和 string 之间的转换

1. 使用 fmt.sprintf 函数进行

package main

import "fmt"

func main() {
var x1 int = 88
var x2 float32 = 3.45
var x3 string x3 = fmt.Sprintf("this is a int %d \n", x1) //注意一定要使用双引号
fmt.Print(x3)
x3 = fmt.Sprintf("this is a float str %f \n", x2)
fmt.Print(x3)
}

2. 使用 strconv 函数

package main

import (
"fmt"
"strconv"
) func main() {
var xx int = 123 s := strconv.FormatInt(int64(xx), 16)
fmt.Print(s) }

字符串string 转换为 基本数据类型

使用strconv 内容

package main

import (
"fmt"
"strconv"
) func main() {
var xx string = "1232123"
xxx, _ := strconv.ParseInt(xx, 10, 32)
fmt.Printf("this xxx is %T %d", xxx, xxx)
// this xxx is int64 1232123 } 只能返回64位 如果需要32位 要自己在进行一次转换 注意事项 字符串强行转换为int 会有以下状况
package main

import (
	"fmt"
	"strconv"
)

func main() {
	var xx string = "hello"
	xxx, _ := strconv.ParseInt(xx, 10, 32)
	fmt.Printf("this xxx is %T  %d", xxx, xxx)
// this xxx is int64  0

}

  

 

8. golang 基本类型转换的更多相关文章

  1. Golang的类型转换实战案例

    Golang的类型转换实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数据类型概述 基础数据类型概述,博主推荐阅读: 布尔型: https://www.cnblogs. ...

  2. golang数据类型转换

    int--string //string到int value_int,err:=strconv.Atoi(string) //int到string str:=strconv.Itoa(value_in ...

  3. golang强制类型转换

    github.com/Unknwon/com包的使用 package main import ( "fmt" "github.com/Unknwon/com" ...

  4. Golang处理数据库的nil数据

    在用golang获取数据库的数据的时候,难免会遇到可控field.这个时候拿到的数据如果直接用string, time.Time这样的类型来解析的话会遇到panic. 那么如何处理这个问题呢,第一个出 ...

  5. Go语言的类型转换和类型断言

    https://my.oschina.net/chai2010/blog/161418 https://studygolang.com/articles/9335  类型转换.类型断言和类型切换 ht ...

  6. golang学习笔记13 Golang 类型转换整理 go语言string、int、int64、float64、complex 互相转换

    golang学习笔记13 Golang 类型转换整理 go语言string.int.int64.float64.complex 互相转换 #string到intint,err:=strconv.Ato ...

  7. Go语言的基本类型转换-golang类型转换

    简单整理一下Golang的基本类型转换,作为备忘: 1.整形到字符串: var i int = 1 var s string 3.  s = strconv.Itoa(i) 或者 s = Format ...

  8. Golang类型转换

    类型转换 1.int转string strconv.Itoa(i) 2.string转int i, err = strconv.Atoi(s) 或者 i, err = ParseInt(s, 10, ...

  9. Golang 类型转换,断言和显式强制转换

    1 前言 类型转换,可以用断言(只能使用在interface{}类型转换成其它类型)和显式类型强制转换(常规是用于基本类型) 2 代码 //graphql-go func(params graphql ...

随机推荐

  1. mssql因为手贱修改了服务配置的最大内存,造成无法启动

    mssql数据库设置内存太小,造成无法启动服务. 解决办法: 1.用命令行形式启动最精简版的mssql服务,另外再用一个新的命令行去修改配置,将内存设置为无限制.  命令行要记得用管理员身份运行比较稳 ...

  2. linux 系统下 tar 的压缩与解压缩命令

    1.压缩 [small@sun shine]# tar -zcvf java.tar.gz java java/ java/default/ java/default/THIRDPARTYLICENS ...

  3. PHP基础教程 10款人气暴涨的PHP开源工具

    若想创建动态而又新颖的Web应用程序,PHP便是理想的选择.不用说,在Web开发世界里,PHP是最流行的语言之一.一些非常好用的PHP开源工具着实拯救了不少开发任务繁重的PHP开发 人员,减轻他们的开 ...

  4. 【BZOJ1066】 [SCOI2007]蜥蜴

    Description 在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃到边界外. 每行每列中相邻石柱的距离为1,蜥蜴的跳跃距离是d,即蜥蜴可以跳到平 ...

  5. 源码阅读-Kingfisher

    最后更新:2018-01-16 使用教程: 官方的链接 使用 Kingfisher 处理网络图片的读取与缓存 1. 开始使用 桥接 KingFisher, 利用 KingfisherCompatibl ...

  6. LVM逻辑卷的扩充

    LVM 的全名是 Logical Volume Manager,中文可以翻译作逻辑滚动条管理员.之所以称为”滚动条”可能是因为可以将 filesystem 像滚动条一样伸长或缩短.LVM 的作法是将几 ...

  7. jq完成省市区街道四级联动

    之前看的省市区街道四级联动的插件,感觉和公司要求的有些不符合,就自己写了一个 因为要读取本地json文件,所以要跑下服务器 下载browser-sync 然后在项目目录下运行browser-sync ...

  8. [CSP-S模拟测试]:最小距离(最短路)

    题目传送门(内部题97) 输入格式 第一行三个整数$n,m,p$,第二行$p$个整数$x_1\sim x_p$表示特殊点的编号.接下来$m$行每行三个整数$u,v,w$表示一条连接$u$和$v$,长度 ...

  9. MapReduce数据倾斜的解决方式

    数据倾斜:由于数据分布不均匀,造成数据大量的集中到一点,造成数据热点.map /reduce程序执行时,reduce节点大部分执行完毕,但是有一个或者几个reduce节点运行很慢,导致整个程序的处理时 ...

  10. 利用IKVM在C#中调Java程序(总结+案例)

    IKVM.NET是一个针对Mono和微软.net框架的java实现,其设计目的是在.NET平台上运行java程序.本文将比较详细的介绍这个工具的原理.使用入门(如何java应用转换为.NET应用.), ...