日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(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