前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >golang一些常用库(3)

golang一些常用库(3)

原创
作者头像
dbdocker
发布2024-02-04 16:28:48
1190
发布2024-02-04 16:28:48
举报
文章被收录于专栏:go语言go语言

crypto/rand 包提供了生成加密安全的伪随机数的功能。

代码语言:javascript
复制
goCopy codepackage main

import (
	"crypto/rand"
	"encoding/hex"
	"fmt"
)

func main() {
	randomBytes := make([]byte, 8)
	_, err := rand.Read(randomBytes)
	if err != nil {
		panic(err)
	}

	randomHex := hex.EncodeToString(randomBytes)
	fmt.Println("Random Hex:", randomHex)
}

20. os/exec - 执行外部命令

os/exec 包允许你在Go程序中执行外部命令。

代码语言:javascript
复制
goCopy codepackage main

import (
	"fmt"
	"os/exec"
)

func main() {
	cmd := exec.Command("ls", "-l")
	output, err := cmd.Output()
	if err != nil {
		panic(err)
	}

	fmt.Println("Command output:")
	fmt.Println(string(output))
}

21. html/template - HTML模板

html/template 包提供了用于安全地渲染HTML模板的功能。

代码语言:javascript
复制
goCopy codepackage main

import (
	"html/template"
	"os"
)

type Person struct {
	Name string
	Age  int
}

func main() {
	tmpl := template.Must(template.New("example").Parse("Hello, {{.Name}}! You are {{.Age}} years old.\n"))

	person := Person{"Alice", 30}
	err := tmpl.Execute(os.Stdout, person)
	if err != nil {
		panic(err)
	}
}

22. github.com/spf13/cobra - 命令行应用程序框架

Cobra 是一个用于构建强大的命令行应用程序的库。

代码语言:javascript
复制
goCopy codepackage main

import (
	"fmt"
	"github.com/spf13/cobra"
)

func main() {
	var rootCmd = &cobra.Command{Use: "app"}

	var cmdHello = &cobra.Command{
		Use:   "hello",
		Short: "Prints 'Hello, Gopher!'",
		Run: func(cmd *cobra.Command, args []string) {
			fmt.Println("Hello, Gopher!")
		},
	}

	rootCmd.AddCommand(cmdHello)
	rootCmd.Execute()
}

23. github.com/go-chi/chi - 轻量级HTTP路由器

Chi 是一个轻量级、灵活的HTTP路由器。

代码语言:javascript
复制
goCopy codepackage main

import (
	"net/http"
	"github.com/go-chi/chi"
)

func main() {
	r := chi.NewRouter()

	r.Get("/", func(w http.ResponseWriter, r *http.Request) {
		w.Write([]byte("Hello, Chi!"))
	})

	http.ListenAndServe(":8080", r)
}

24. github.com/go-playground/validator - 结构体验证器

Validator 提供了用于验证结构体字段的功能。

代码语言:javascript
复制
goCopy codepackage main

import (
	"fmt"
	"github.com/go-playground/validator/v10"
)

type User struct {
	Name  string `validate:"required"`
	Email string `validate:"required,email"`
	Age   int    `validate:"gte=0,lte=130"`
}

func main() {
	v := validator.New()
	user := User{Name: "John", Email: "john@example", Age: 25}

	err := v.Struct(user)
	if err != nil {
		for _, err := range err.(validator.ValidationErrors) {
			fmt.Println(err.Namespace(), err.Field(), err.Tag())
		}
	}
}

这些是另一批基础常用的Go语言库及其用法,包括生成随机数、执行外部命令、HTML模板、命令行应用程序框架、HTTP路由器和结构体验证器等方面。根据项目的具体需求,你可以选择适用的库来进行开发。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 20. os/exec - 执行外部命令
  • 21. html/template - HTML模板
  • 22. github.com/spf13/cobra - 命令行应用程序框架
  • 23. github.com/go-chi/chi - 轻量级HTTP路由器
  • 24. github.com/go-playground/validator - 结构体验证器
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档