当前位置: 首页 > article >正文

go map字典操作

类型断言

断言 在现代化 程序中 有助于 终止代码 , 防止 更大的 错误产生

package main

import "fmt"

func main() {
	var i interface{} = "hello"

	s := i.(string)
	fmt.Println(s)

	s, ok := i.(string)
	fmt.Println(s, ok)

	f, ok := i.(float64)
	fmt.Println(f, ok)

	f = i.(float64) // panic
	fmt.Println(f)
}

类型分支 根据 变量 类型进行分支

package main

import "fmt"

func do(i interface{}) {
	switch v := i.(type) {
	case int:
		fmt.Printf("Twice %v is %v\n", v, v*2)
	case string:
		fmt.Printf("%q is %v bytes long\n", v, len(v))
	default:
		fmt.Printf("I don't know about type %T!\n", v)
	}
}

func main() {
	do(21)
	do("hello")
	do(true)
}


http://www.kler.cn/a/137282.html

相关文章:

  • 在ESP32使用AT指令集与服务器进行TCP/IP通信时,<link ID> 解释
  • 电商数据采集电商,行业数据分析,平台数据获取|稳定的API接口数据
  • Spring基础分析08-集成JPA/Hibernate进行ORM操作
  • CentOs7使用yum安装docker
  • postman关联接口用于登录(验证码会变情况)
  • redis 缓存使用
  • 卷积神经网络(VGG-19)灵笼人物识别
  • Python每日一练-DAY01
  • docker通过挂载conf文件启动redis
  • LeetCode39- 组合总和
  • 掌握深度学习利器——TensorFlow 2.x实战应用与进阶
  • scp rsync 软连接
  • linux控制台命令
  • OpenCV 中Mat.depth()的理解——每个像素的位数——每个像素中每个通道的精度
  • Qt中的tr函数
  • Java 基础面试题大概有哪些?
  • spring为什么要使用三级缓存来解决循环依赖
  • Java语言的特点||运算符
  • stack和queue简单实现(容器适配器)
  • mysql8 修改用户密码
  • 代码随想录二刷 | 链表 | 翻转链表
  • kolla 安装多节点openstack kolla部署openstack
  • 互联网医院源码搭建部署功能
  • k8s-pod管理 3
  • 怎么批量提取文件名字到Excel中?
  • 安装keras、tensorflow