登录
首页 >  Golang >  Go问答

如何将 interface{} 转换为字符串?

来源:Golang技术栈

时间:2023-03-25 08:29:46 122浏览 收藏

在IT行业这个发展更新速度很快的行业,只有不停止的学习,才不会被行业所淘汰。如果你是Golang学习者,那么本文《如何将 interface{} 转换为字符串?》就很适合你!本篇内容主要包括如何将 interface{} 转换为字符串?,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

我正在使用docopt来解析命令行参数。这行得通,它会产生一张地图,例如

map[:www.google.de :80 --help:false --version:false]

现在我想将hostport值连接到一个字符串,两个值之间有一个冒号。基本上,例如:

host := arguments[""] + ":" + arguments[""]

不幸的是,这不起作用,因为我收到错误消息:

无效操作:arguments[""] + ":" (不匹配的类型接口 {} 和字符串)

所以很明显我需要将从地图中获得的值(只是interface{},所以它可以是任何东西)转换为字符串。现在我的问题是,我该怎么做?

正确答案

您需要添加类型断言 .(string)。这是必要的,因为地图的类型是map[string]interface{}

host := arguments[""].(string) + ":" + arguments[""].(string)

最新版本的 Docopt 返回具有转换方法的[Opts](https://godoc.org/github.com/docopt/docopt- go#Opts)对象:

host, err := arguments.String("")
port, err := arguments.String("")
host_port := host + ":" + port

今天带大家了解了golang的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>