我如何得到os.error的字符串值?即赋值给一个变量。
58wvjzkj1#
例如,
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
xxb16uws2#
根据go1发布说明进行更新:
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!"
2wnc66cl3#
您也可以使用fmt.Sprint(err)这将返回一个字符串类型的变量,然后您可以将其赋值给一个变量:message := fmt.Sprint(err)
fmt.Sprint(err)
message := fmt.Sprint(err)
3条答案
按热度按时间58wvjzkj1#
例如,
输出:
文档中包含fmt格式 predicate 的完整列表,
fmt包的格式 predicate
xxb16uws2#
根据go1发布说明进行更新:
示例:
输出:
2wnc66cl3#
您也可以使用
fmt.Sprint(err)
这将返回一个字符串类型的变量,然后您可以将其赋值给一个变量:
message := fmt.Sprint(err)