如何将“字符串指针”转换为 Golang 中的字符串?

是否可以从指向字符串的指针获取字符串值?


我正在使用goopt 包来处理标志解析,并且该包仅返回 *string。我想使用这些值来调用地图中的函数。


var strPointer = new(string)

*strPointer = "string"


functions := map[string]func() {

    "string": func(){

        fmt.Println("works")

    },

}  


//Do something to get the string value


functions[strPointerValue]()

返回


./prog.go:17:14: cannot use strPointer (type *string) 

as type string in map index


慕后森
浏览 296回答 2
2回答

ABOUTYOU

取消引用指针:strPointerValue := *strPointer

桃花长相依

首先检查字符串指针是否为 nil 的简单函数可以防止运行时错误:func DerefString(s *string) string {    if s != nil {        return *s    }    return ""}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go