如何将双指针字符串转换为字符串?
在此示例中,我们可以直接传递字符串参数。但是我的应用程序中有双重指针字符串来满足字符串要求。
package main
import (
"fmt"
)
func main() {
s := "ss"
a := &s
Modify(&a)
}
func Modify(s interface{}) {
fmt.Println(s)
}
游乐场:https://play.golang.org/p/d4hrG9LzLNO
最佳答案
您需要断言**string
以获得包裹在interface{}
周围的基础值。然后使用double
指针解引用字符串的值。
package main
import (
"fmt"
)
func main() {
s := "ss"
a := &s
Modify(&a)
}
func Modify(s interface{}) {
fmt.Println(**s.(**string))
}
Playground
关于string - panic : interface conversion: interface {} is **string,不是字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49829209/