为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
慕后森 2021-08-23 17:04:53
是否可以从指向字符串的指针获取字符串值?我正在使用goopt 包来处理标志解析,并且该包仅返回 *string。我想使用这些值来调用地图中的函数。var strPointer = new(string)*strPointer = "string"functions := map[string]func() {    "string": func(){        fmt.Println("works")    },}  //Do something to get the string valuefunctions[strPointerValue]()返回./prog.go:17:14: cannot use strPointer (type *string) as type string in map index
查看完整描述

2 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

取消引用指针:

strPointerValue := *strPointer


查看完整回答
反对 回复 2021-08-23
?
桃花长相依

TA贡献1860条经验 获得超8个赞

首先检查字符串指针是否为 nil 的简单函数可以防止运行时错误:


func DerefString(s *string) string {

    if s != nil {

        return *s

    }


    return ""

}


查看完整回答
反对 回复 2021-08-23
  • 2 回答
  • 0 关注
  • 295 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信