如何获得 * os.error * 的字符串值?也就是说,分配给变量。
6ljaweal1#
例如,
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格式 predicate 的完整列表,fmt包的格式 predicate
nkkqxpd92#
基于go1发布说明:
使用err.Error()获取字符串值。
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) }
go run main102.go version: go1.0.2 types: *errors.errorString / string string value via err.Error(): "use of err.String() detected!"
jaql4c8m3#
您也可以使用fmt.Sprint(err)这将返回一个字符串类型的变量,然后您可以将其赋值给一个变量:message := fmt.Sprint(err)
fmt.Sprint(err)
message := fmt.Sprint(err)
3条答案
按热度按时间6ljaweal1#
例如,
输出:
文档中包含fmt格式 predicate 的完整列表,
fmt包的格式 predicate
nkkqxpd92#
基于go1发布说明:
使用err.Error()获取字符串值。
示例:
输出:
jaql4c8m3#
您也可以使用
fmt.Sprint(err)
这将返回一个字符串类型的变量,然后您可以将其赋值给一个变量:
message := fmt.Sprint(err)