英文:
A way to get the value of os.Error - string value (Go)
问题
如何获取os.Error的字符串值?
也就是说,将其赋值给一个变量。
英文:
How do I get the string value of os.Error?
That is, assign to a variable.
答案1
得分: 53
例如,
package main
import (
"errors"
"fmt"
)
func main() {
err := errors.New("an error message")
s := err.Error()
fmt.Printf("type: %T; value: %q\n", s, s)
}
输出:
type: string; value: "an error message"
具有完整的 fmt 格式化动词列表的文档,
英文:
For example,
package main
import (
"errors"
"fmt"
)
func main() {
err := errors.New("an error message")
s := err.Error()
fmt.Printf("type: %T; value: %q\n", s, s)
}
Output:
type: string; value: "an error message"
Documentation with a full list of fmt formatting verbs,
答案2
得分: 38
根据go1发布说明:
使用err.Error()获取字符串值。
示例:
package main
import (
"fmt"
"errors"
"runtime"
)
func main() {
err := errors.New("检测到使用err.String()!")
s := err.Error()
fmt.Printf(
"版本: %s\n类型: %T / %T\n通过err.Error()获取的字符串值: %q\n",
runtime.Version(), err, s, s)
}
输出:
go run main102.go
版本: go1.0.2
类型: *errors.errorString / string
通过err.Error()获取的字符串值: "检测到使用err.String()!"
英文:
Based on go1 release notes:
Use err.Error() to get the string value.
Example:
package main
import (
"fmt"
"errors"
"runtime"
)
func main() {
err := errors.New("use of err.String() detected!")
s := err.Error()
fmt.Printf(
"version: %s\ntypes: %T / %T\nstring value via err.Error(): %q\n",
runtime.Version(), err, s, s)
}
Output:
go run main102.go
version: go1.0.2
types: *errors.errorString / string
string value via err.Error(): "use of err.String() detected!"
答案3
得分: -1
你还可以使用fmt.Sprint(err)
。
这将返回一个字符串类型的变量,你可以将其赋值给一个变量,例如:
message := fmt.Sprint(err)
。
英文:
You can also use fmt.Sprint(err)
This returns a variable of type string which you can then, for instance, assign to a variable:
message := fmt.Sprint(err)
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论