go map字典操作

简介: 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)
}
目录
打赏
0
0
0
0
3
分享
相关文章
|
8月前
|
Go
go语言中遍历映射(map)
go语言中遍历映射(map)
195 8
Map的遍历与判断键是否存在-《Go语言实战指南》
本文介绍了 Go 语言中对 `map` 的常见操作,包括遍历所有项和判断键是否存在。通过 `for range` 可以遍历 `map` 的键值对、仅键或仅值(需忽略键)。注意,`map` 遍历顺序是随机的。判断键是否存在时,使用双赋值语法 `value, ok := map[key]`,其中 `ok` 表示键是否存在。直接访问不存在的键会返回类型的零值,可能导致逻辑错误。掌握这些机制可更安全高效地处理键值对数据。
Go 语言中的 Sync.Map 详解:并发安全的 Map 实现
`sync.Map` 是 Go 语言中用于并发安全操作的 Map 实现,适用于读多写少的场景。它通过两个底层 Map(`read` 和 `dirty`)实现读写分离,提供高效的读性能。主要方法包括 `Store`、`Load`、`Delete` 等。在大量写入时性能可能下降,需谨慎选择使用场景。
Go语言中的map数据结构是如何实现的?
Go 语言中的 `map` 是基于哈希表实现的键值对数据结构,支持快速查找、插入和删除操作。其原理涉及哈希函数、桶(Bucket)、动态扩容和哈希冲突处理等关键机制,平均时间复杂度为 O(1)。为了确保线程安全,Go 提供了 `sync.Map` 类型,通过分段锁实现并发访问的安全性。示例代码展示了如何使用自定义结构体和切片模拟 `map` 功能,以及如何使用 `sync.Map` 进行线程安全的操作。
132 9
|
7月前
|
Go
go语言for遍历映射(map)
go语言for遍历映射(map)
206 12
|
8月前
|
go语言 遍历映射(map)
go语言 遍历映射(map)
112 2
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
该文章详细介绍了ES6中Set和Map数据结构的特性和使用方法,并探讨了它们在前端开发中的具体应用,包括如何利用这些数据结构来解决常见的编程问题。
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
|
10月前
|
Go
go语言创建字典
go语言创建字典
|
11月前
|
如何检查 Go map 是否包含某个键?
【8月更文挑战第31天】
182 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等