返回
北京兄弟连IT
置顶
该校与厚学网暂未合作,平台不保证课程的真实有效性,如有侵权等争议,请及时与厚学网联系处理
招生热线:400-800-2181

学校地址:北京市昌平区回龙观文华西路育荣教育园区兄弟连IT教育

兄弟连Go语言分享-类型转换、断言、开关

98 2018-08-24 14:35:05

学习笔记

  2018年时已过半,在今年的区块链热潮中,国内各家科技巨头均已粉墨登场,开始在这个新兴领域里抢占高地。但在具体布局细节上,几大巨头又各有不同,从中亦可窥见它们各自对区块链的重视程度和期许方向。

 

  兄弟连Go语言全栈与区块链技术培训课程是由清华、微软和谷歌名师历时半年时间研发出的独一无二的体系化课程。课程涵盖9大学习阶段,及多个企业级项目实战和来自世界顶尖区块链比赛作品,并由以微软区块链最具价值专家尹成为代表的清华系区块链团队亲临授课,综合提升学员的职场竞争力。

 

类型转换

Go语言中提供了一种不同类型但是相互兼容的可以相互转换的方式,这种方式是非常有用且安全的。非数值间相互转换不会丢失精度,数值间相互转换就需要考虑精度可能丢失的情况。

stringintfloat类型转换

 

//stringint

int,err:=strconv.Atoi(string)

//stringint64

int64, err := strconv.ParseInt(string, 10, 64)

//intstring

string:=strconv.Itoa(int)  等价于 s := strconv.FormatInt(int64(i), 10)

//int64string

string:=strconv.FormatInt(int64,10)

//stringfloat32(float64)

float,err := strconv.ParseFloat(string,32/64)

//floatstring

string := strconv.FormatFloat(float32, 'E', -1, 32)

string := strconv.FormatFloat(float64, 'E', -1, 64)

类型断言

在处理外部源接收到的数据,想要创建一个通用函数及在进行面向对象编程时,我们会需要使用interface{}类型。我们可以使用类型断言将一个interface{}类型的值转换为实际数据的值。

使用类型断言有以下两种方式

 

① 安全类型断言

resultTypeboolean := expression.(Type)

②非安全类型断言,失败时会panic()

resultTypeboolean := expression.(Type)

实例

 

func main() {

   var a interface{} = 1

   var b interface{} = "abc"

   c,bool:= a.(int)

   d := b.(string)

   fmt.Println(c,bool)

   fmt.Println(d)

}

-----output-----

1 true

abc

类型开关

如果变量类型是许多类型中的一种,那么我们使用switch配合interface{}来筛选

 

func classifier(items ...interface{})  {

   for i,x := range items {

      switch x.(type) {

      case bool:

         fmt.Printf("type #%d is bool",i)

      case float64:

         fmt.Printf("type #%d is float64",i)

      case string:

         fmt.Printf("type #%d is string",i)

      case int:

         fmt.Printf("type #%d is int",i)

      default:

         fmt.Printf("type is unknow")

      }

   }

}      

                          高能预警,兄弟连教育区块链直播课程8月持续火爆来袭!

原价1188元的12节区块链进阶课程,现仅需1元!

还可免费领取《Go语言基础实战项目开发》与《Go语言高级实战项目开发》教材两本!!

限时限量!!先到先得!!

http://www.ydma.cn/open/course/24


关注兄弟连区块链技术公众号领取更多技术干货哦!!!



文中图片素材来源网络,如有侵权请联系删除
来源:北京兄弟连IT
热门课程 全部课程

热门动态

申请免费试听

只要一个电话

我们为您免费回电

立即申请
刷新
图形验证
关闭
>>
拖动左边滑块完成上方拼图