我是一个新手,正在学习Go语言。我有一个函数需要接收
[]string
类型的输入,但实际上我要传递的是[]*string
类型的输入,该如何将[]*string
转换为[]string
呢?是否有任何工具可以帮助转换,或者我必须使用for循环迭代并构建一个数组来完成转换?Playground链接:https://play.golang.org/p/_s2g7-IfGAy
package main
import (
"fmt"
)
func main() {
//Declaring an array of []*string and assigning value to it
var a [1]*string
var strPointer = new(string)
*strPointer = "1"
a[0] = strPointer
fmt.Println(*a[0])
// accept(a) this wont work
//Converting to array []string
var b []string
for i := range a {
b = append(b, *a[i])
}
accept(b)// this works
fmt.Println(b)
}
func accept(param []string) {
fmt.Println("Works!")
}