golang Errorf 打印错误信息
时间: 2023-07-26 16:09:59 浏览: 47
在 Golang 中,可以使用 `fmt.Errorf()` 或 `errors.New()` 函数来创建一个新的错误实例。其中,`fmt.Errorf()` 可以格式化错误信息,并返回一个 `error` 类型的值,而 `errors.New()` 则直接返回一个字符串类型的错误信息。
例如:
```go
import "errors"
import "fmt"
func divide(a, b int) (int, error) {
if b == 0 {
return 0, errors.New("division by zero")
}
return a / b, nil
}
func main() {
result, err := divide(10, 0)
if err != nil {
fmt.Errorf("error occurred: %v", err)
return
}
fmt.Printf("result: %d\n", result)
}
```
上面的例子中,`divide` 函数接受两个整数参数 `a` 和 `b`,如果 `b` 等于 0,则返回一个错误信息。在 `main` 函数中,我们调用 `divide` 函数,并检查是否有错误发生。如果有错误发生,则使用 `fmt.Errorf()` 函数打印错误信息。
相关问题
golang 输出错误信息
在 Go 中,可以使用 `fmt` 包中的 `Println()` 或 `Printf()` 方法来输出错误信息。例如:
```go
package main
import (
"fmt"
)
func main() {
err := fmt.Errorf("Something went wrong")
fmt.Println(err) // 输出错误信息
}
```
输出:
```
Something went wrong
```
另外,Go 还提供了 `log` 包来输出日志信息,其中 `log.Fatal()` 方法会在输出日志信息后直接退出程序。例如:
```go
package main
import (
"log"
)
func main() {
err := fmt.Errorf("Something went wrong")
log.Fatal(err) // 输出错误信息并退出程序
}
```
输出:
```
2021/09/23 15:06:51 Something went wrong
exit status 1
```
golang 怎么打印sql语句
在 Golang 中打印 SQL 语句可以通过设置数据库驱动的参数来实现。具体来说,可以在连接数据库时设置参数,如下面的代码所示:
```
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
"log"
)
func main() {
db, err := sql.Open("mysql", "user:password@tcp(host:port)/database?charset=utf8mb4")
if err != nil {
log.Fatal(err)
}
db.SetMaxIdleConns(10)
db.SetMaxOpenConns(100)
db.SetConnMaxLifetime(time.Hour)
// 打印 SQL 语句
db.LogMode(true)
defer db.Close()
}
```
在上面的代码中,我们通过调用 `db.LogMode(true)` 方法来打印 SQL 语句。这个方法是由 GORM 库提供的,可以帮助我们方便地打印 SQL 语句。如果你不使用 GORM 库,可以考虑使用其他数据库驱动的参数来实现类似的功能。