新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)GoFrame教程:GoFrame工具方法-gutil
基本介紹
?gutil?組件封裝了一些開發(fā)中常用的工具方法。

使用方式:
import "github.com/GOgf/gf/v2/util/gutil"接口文檔:
https://pkg.go.dev/github.com/gogf/gf/v2/util/gutil
常用方法
Dump
- 說明:?
Dump?將?values?以更好的可讀性的方式輸出在標(biāo)準(zhǔn)輸出中。 - 格式:
Dump(values ...interface{}) - 示例:
type User struct {
Name string
Age int
}
type Location struct {
Province string
City string
}
type UserInfo struct {
U User
L Location
}
func main() {
userList := make([]UserInfo, 0)
userList = append(userList, UserInfo{
U: User{
Name: "郭強(qiáng)",
Age: 18,
},
L: Location{
Province: "四川",
City: "成都",
},
})
userList = append(userList, UserInfo{
U: User{
Name: "黃騫",
Age: 18,
},
L: Location{
Province: "江蘇",
City: "南京",
},
})
gutil.Dump(userList)
}
// Output:
[
{
U: {
Name: "郭強(qiáng)",
Age: 18,
},
L: {
Province: "四川",
City: "成都",
},
},
{
U: {
Name: "黃騫",
Age: 18,
},
L: {
Province: "江蘇",
City: "南京",
},
},
]DumpWithType
- 說明:?
DumpWithType?和 ?Dump?類似,但是多了類型信息。 - 格式:
DumpWithType(values ...interface{})- 示例:
type User struct {
Name string
Age int
}
type Location struct {
Province string
City string
}
type UserInfo struct {
U User
L Location
}
func main() {
userList := make([]UserInfo, 0)
userList = append(userList, UserInfo{
U: User{
Name: "郭強(qiáng)",
Age: 18,
},
L: Location{
Province: "四川",
City: "成都",
},
})
userList = append(userList, UserInfo{
U: User{
Name: "黃騫",
Age: 18,
},
L: Location{
Province: "江蘇",
City: "南京",
},
})
gutil.DumpWithType(userList)
}
// Output:
[]main.UserInfo(2) [
main.UserInfo(2) {
U: main.User(2) {
Name: string(6) "郭強(qiáng)",
Age: int(18),
},
L: main.Location(2) {
Province: string(6) "四川",
City: string(6) "成都",
},
},
main.UserInfo(2) {
U: main.User(2) {
Name: string(6) "黃騫",
Age: int(18),
},
L: main.Location(2) {
Province: string(6) "江蘇",
City: string(6) "南京",
},
},
]DumpTo
- 說明:?
DumpTo?將?value?以自定義的輸出形式寫入到?write?中。 - 格式:
DumpTo(writer io.Writer, value interface{}, option DumpOption)- 示例:
package main
import (
"bytes"
"fmt"
"github.com/gogf/gf/v2/util/gutil"
"io"
)
type UserInfo struct {
Name string
Age int
Province string
City string
}
type DumpWriter struct {
Content string
}
func (d *DumpWriter) Write(p []byte) (n int, err error) {
buffer := bytes.NewBuffer(nil)
buffer.WriteString("I'm Start!\n")
buffer.WriteString(string(p))
buffer.WriteString("\nI'm End!\n")
d.Content = buffer.String()
return buffer.Len(), nil
}
func main() {
u := UserInfo{
"a", 18, "b", "c",
}
var dw io.Writer = &DumpWriter{}
gutil.DumpTo(dw, u, gutil.DumpOption{})
fmt.Println(dw.(*DumpWriter).Content)
}
// Output:
I'm Start!
{
Name: "a",
Age: 18,
Province: "b",
City: "c",
}
I'm End! 文章標(biāo)題:創(chuàng)新互聯(lián)GoFrame教程:GoFrame工具方法-gutil
文章路徑:http://www.dlmjj.cn/article/cddjdhi.html


咨詢
建站咨詢
