golang一个函数可以将切片转换成二维切片
时间: 2024-06-20 09:03:10 浏览: 6
可以使用golang中的循环和切片操作将切片转换成二维切片。以下是一个示例函数:
```go
func sliceTo2D(slice []int, size int) [][]int {
var res [][]int
for i := 0; i < len(slice); i += size {
end := i + size
if end > len(slice) {
end = len(slice)
}
res = append(res, slice[i:end])
}
return res
}
```
这个函数将一个切片转换成指定大小的二维切片。例如,如果传入的切片是`[1,2,3,4,5,6]`,size为2,则函数返回`[[1,2],[3,4],[5,6]]`。
相关问题
golang append追加一个切片
可以使用`append`函数在一个切片后追加另一个切片。例如:
```go
slice1 := []int{1, 2, 3}
slice2 := []int{4, 5, 6}
slice1 = append(slice1, slice2...)
fmt.Println(slice1) // 输出 [1 2 3 4 5 6]
```
需要注意的是,使用`append`函数追加切片时,需要在第二个切片的后面加上`...`,表示将切片打散为单个元素逐个追加。如果不加`...`,会导致编译错误,提示类型不匹配。
golang 一个字符串是否在切片中
要判断一个字符串是否在切片中,可以使用 for 循环遍历切片,逐一比较每个元素是否与目标字符串相等。代码示例如下:
```go
func IsInSlice(str string, slice []string) bool {
for _, s := range slice {
if s == str {
return true
}
}
return false
}
```
调用该函数可以判断目标字符串是否在切片中:
```go
str := "hello"
slice := []string{"world", "hello", "golang"}
if IsInSlice(str, slice) {
fmt.Println("字符串在切片中")
} else {
fmt.Println("字符串不在切片中")
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)