zoukankan      html  css  js  c++  java
  • 8. golang 基本类型转换

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

     基本数据类型间的转换

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

    . est.go:3:8: imported and not used: "fmt"

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

    . est.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)


    . est.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 
    ", x1)   //注意一定要使用双引号
    	fmt.Print(x3)
    	x3 = fmt.Sprintf("this is a  float str %f 
    ", 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
    
    
    }

      

     

  • 相关阅读:
    jmap之使用说明与JVM配置
    Linux之tomcat日志管理
    服务器连接数与资源监控
    Git命令之资源
    状态机
    分布式之消息系统架构
    Memcache之内存分配机制
    LRU算法
    Linux(Ubuntu)之设定开机自启动
    mysql 查询 优化
  • 原文地址:https://www.cnblogs.com/leleyao/p/11550807.html
Copyright © 2011-2022 走看看