当前位置: 代码迷 >> 综合 >> 2.6.类型转化
  详细解决方案

2.6.类型转化

热度:53   发布时间:2024-02-06 01:39:49.0

物理的类型转换通常是在不同数据类型之间通过显式方式进行的,其中有些是安全的,比如从int8到int16,但有些则可能伴随着一定程度上的信息损失

  • 长整变短整,损失值域
  • 浮点变整型,损失精度
  • 整型变浮点,损失有效数字

逻辑的类型转换通常是借助strconv包在字符串和其它类型之间相互转换

  • bool->string:strconv.FormatBool(true)
  • string->bool:strconv.ParseBool("true")

无论哪种类型转换,原数据的类型都不会发生任何变化,只是创建了新数据

// 类型转换和类型检查
// strconv包提供了一整套类型转换函数,用于在字符串和其它类型之间双向转换 
package main
import ("fmt""reflect""strconv"
)
func main() {var b bool b = truefmt.Println(b, reflect.TypeOf(b))	// true,boolvar s strings = strconv.FormatBool(true)fmt.Println(s, reflect.TypeOf(s))	// true string
}

 

  相关解决方案