如何将双指针字符串转换为字符串?

在此示例中,我们可以直接传递字符串参数。但是我的应用程序中有双重指针字符串来满足字符串要求。

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/

10-11 22:53
查看更多