无法从字符串获取指针

问题描述 投票:0回答:1

// [[GET /v2/PreMigrateCheck][501] v2PremigrationcheckNotImplemented &{Code:0x140015020e0 Message:0x14000cd6110}]

//

i Want to get the pointer value which is contained in above formatted string message. I am writing a function for that

func myfunc(d string) string {
    split := strings.Split(d, " ")
    for _, a := range split {
        if strings.Contains(a, "Message:") {
            str1 := strings.TrimPrefix(a, "Message:")
            str2 := strings.TrimSuffix(str1, "}")
            return **&str2

        }
    }
    return d
}

//触发api后输出

{
    "message": "0x14000e449c0"
}

//我想将此指针的输出转换为值,但获取此值 **&str2 但收到错误('*&str2' 的间接值无效(类型'string'))

go pointers
1个回答
0
投票

我无法理解你的代码的要点。我同意评论区的建议。

您遇到此问题是因为代码尝试取消引用原始值。在本例中为“字符串”

str2 是一个字符串值,&str2 是一个字符串指针,然后像这样

*&str2
那样取消引用字符串指针。该表达式是字符串类型,第二个星号尝试取消引用原始类型。这就是错误的来源。

© www.soinside.com 2019 - 2024. All rights reserved.