英文:
Golang: convertor function
问题
我们有一个结构S
。是否有可能创建一个转换器,使得表达式
s := S(a_string)
能够编译通过,其中a_string
实际上是一个字符串。
英文:
We have some structure S
. Is it possible to make a converter so that the expression
s := S(a_string)
began to compile, where a_string
is actually a string
.
答案1
得分: 1
允许的转换在规范:转换中列出。有一个名为“转换为和从字符串类型”的部分。只有这些转换是允许的,你不能“扩展”或更改转换的行为。
然而,你可以始终编写一个接受string
并返回类型为S
的值的函数。
func Parse(s string) S {
var r S
// 解析逻辑
return r
}
使用它与转换的方式相同:
s := Parse(a_string)
英文:
The allowed conversions are listed in Spec: Conversions. There's a section for "Conversions to and from a string type". Only those are allowed, you can't "extend" or change the behavior of conversions.
You may however always write a function that takes a string
and returns a value of type S
.
func Parse(s string) S {
var r S
// Parsing logic
return r
}
Using it is / looks like the same as a conversion:
s := Parse(a_string)
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论