代码地址
https://github.com/fangkang7/goLearn.gitgit
案例
案例解释
不论是返回切片仍是返回映射,函数的参数类型都是一个切片github
切片须要用时append来进行扩容微信
映射则直接键值的方式便可app
源码
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 }