【GO】函数返回值为映射和切片

简介: 【GO】函数返回值为映射和切片

代码地址

https://github.com/fangkang7/goLearn.git

案例

屏幕快照 2022-05-18 下午7.40.06.png屏幕快照 2022-05-18 下午7.40.14.png

package main
import "fmt"
func main() {
  retMap := isWudebeishu(5, 16, 25, 30, 21)
  for key, value := range retMap {
    /**
    5 是5的倍数 true
    16 是5的倍数 false
    25 是5的倍数 true
    30 是5的倍数 true
    21 是5的倍数 false
    */
    fmt.Println(key, "是5的倍数", value)
  }
  // map[5:true 16:false 21:false 25:true 30:t
  fmt.Println(retMap)
  // [true false true true false]
  ret := isWudebeishu1(5, 16, 25, 30, 21)
  fmt.Println(ret)
}
/**
返回一个切片
*/
func isWudebeishu1(a ...int) (ret []bool) {
  for _, v := range a {
    if v%5 == 0 {
      ret = append(ret, true)
    } else {
      ret = append(ret, false)
    }
  }
  return
}
/**
返回一个映射
*/
func isWudebeishu(a ...int) (retMap map[int]bool) {
  // panic: assignment to entry in nil map
  // 这里有个错误需要注意一下,这个错误是因为map没有初始化
  //retMap = make(map[int]bool)
  retMap = map[int]bool{}
  for _, v := range a {
    if v%5 == 0 {
      retMap[v] = true
    } else {
      retMap[v] = false
    }
  }
  return
}


相关文章
|
1月前
|
Prometheus Cloud Native Go
Go 1.22 标准库 slices 新增函数和一些旧函数增加新特性
Go 1.22 标准库 slices 新增函数和一些旧函数增加新特性
|
20天前
|
设计模式 Java 数据库连接
|
20天前
|
存储 缓存 Go
在 Go 中如何复制切片和映射?
【8月更文挑战第31天】
31 0
|
20天前
|
Go 开发者
|
20天前
|
存储 Go 数据处理
C 数组和 Go 切片的区别详解
【8月更文挑战第31天】
28 0
|
23天前
|
存储 机器学习/深度学习 设计模式
Go从入门到放弃之函数
Go从入门到放弃之函数
|
23天前
|
人工智能 编译器 Go
Go从入门到放弃之数组、切片
Go从入门到放弃之数组、切片
|
1月前
|
监控 Serverless Go
Golang 开发函数计算问题之Go 语言中切片扩容时需要拷贝原数组中的数据如何解决
Golang 开发函数计算问题之Go 语言中切片扩容时需要拷贝原数组中的数据如何解决
|
1月前
|
人工智能 Go
go切片参数传递用值还是指针
go切片参数传递用值还是指针
26 0
|
1月前
|
Go 开发者
Go1.22 新特性:Slices 变更 Concat、Delete、Insert 等函数,对开发挺有帮助!
Go1.22 新特性:Slices 变更 Concat、Delete、Insert 等函数,对开发挺有帮助!