您现在的位置是:首页 > 技术教程 正文

【GoLang入门教程】Go语言几种标准库介绍(四)

admin 阅读: 2024-03-18
后台-插件-广告管理-内容页头部广告(手机)

编程语言的未来?

文章目录

    • 编程语言的未来?
      • 前言
      • 几种库
        • fmt库 (格式化操作)
          • 关键函数:
          • 示例
        • Go库
          • 标准库
          • 第三方库
          • 示例
        • html库(HTML 转义及模板系统)
          • 主要功能:
          • 示例
      • 总结
      • 专栏集锦
      • 写在最后

579a429daf314744b995f37351b46548

前言

上一篇,我们介绍了debug、encoding、flag三个库,这篇我们继续介绍剩下的库


几种库

fmt库 (格式化操作)

在 Go 语言的标准库中,fmt 包提供了格式化输入输出的功能。

这个包包括了一系列函数,用于将数据格式化为字符串(fmt.Sprintf)、输出到控制台(fmt.Print、fmt.Println、fmt.Printf)以及读取输入数据(fmt.Scan、fmt.Scanf、fmt.Scanln)等。

关键函数:
  1. Print、Println、Printf: 用于将格式化的文本输出到标准输出。Println 会在输出的文本末尾添加换行符。
  2. Scan、Scanln、Scanf: 用于从标准输入读取数据。Scanln 会在读取后换行。
  3. Sprint、Sprintln、Sprintf: 用于将数据格式化为字符串而不输出。
  4. Fprint、Fprintln、Fprintf: 用于将格式化的文本输出到指定的 io.Writer。
示例
package main import "fmt" func main() { // Println示例 fmt.Println("Hello, Golang!") // Printf示例 name := "Alice" age := 25 fmt.Printf("Name: %s, Age: %d\n", name, age) // Sprintf示例 formattedString := fmt.Sprintf("Name: %s, Age: %d", name, age) fmt.Println(formattedString) // Scan示例 var inputName string var inputAge int fmt.Print("Enter your name: ") fmt.Scan(&inputName) fmt.Print("Enter your age: ") fmt.Scan(&inputAge) fmt.Printf("You entered: Name: %s, Age: %d\n", inputName, inputAge) }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

在这个示例中,使用了 Println、Printf、Sprintf、Scan 等函数。

通过这些函数,可以方便地进行输出和输入的格式化操作。

注意,在使用 Scan 函数时,需要使用取地址符&来获取输入的值的地址。

Go库

在 Go 语言中,术语 “Go库” 通常是指标准库(Standard Library)和第三方库(Third-party Libraries)。

标准库

Go 语言的标准库是与语言一起发布的一组包,提供了广泛的功能,包括输入输出、网络、加密、并发等。这些包是通过 import 语句引入的,无需额外安装。

以下是一些标准库的子包以及其主要功能:

  • fmt: 格式化输入输出。

  • net: 网络编程,包括 TCP、UDP、HTTP 等。

  • http: HTTP 协议的实现,用于构建 Web 应用程序。

  • os: 操作系统相关的功能,例如文件操作、环境变量等。

  • io: 输入输出抽象。

  • crypto: 加密和哈希算法。

  • time: 处理时间和日期。

  • sync: 并发编程的同步工具。

  • database/sql: 数据库操作。

第三方库

除了标准库之外,Go 社区还拥有丰富的第三方库,可通过工具如 go get 来获取和安装。这些库涵盖了各种领域,包括 Web 框架、数据库驱动、图形界面等。

以下是一些流行的第三方库:

  • gin: Web 框架,用于构建高性能的 Web 应用程序。
  • gorm: ORM(对象关系映射)库,用于数据库操作。
  • viper: 配置管理库,用于处理应用程序配置。
  • cobra: 命令行应用程序的库,用于创建命令行工具。
  • govalidator: 输入验证库,用于验证用户输入的数据。
示例

使用标准库的 fmt 包以及第三方库的 gin 包:

package main import ( "fmt" "github.com/gin-gonic/gin" ) func main() { // 标准库示例 fmt.Println("Hello, Go Standard Library!") // 第三方库示例(使用 gin 框架) router := gin.Default() router.GET("/", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "Hello, Gin!", }) }) router.Run(":8080") }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

在这个示例中,首先使用标准库的 fmt 包输出一条简单的消息。

然后,使用第三方库 gin 构建了一个简单的 HTTP 服务,该服务在根路径 (“/”) 下响应一个 JSON 消息。

html库(HTML 转义及模板系统)

在 Go 语言的标准库中,html 包实际上并不存在。

然而,Go 标准库提供了 html/template 包,用于 HTML 模板的解析和渲染。

这个包允许创建动态的 HTML 内容,通过填充数据生成最终的 HTML 页面。

主要功能:
  1. HTML 模板定义: 允许在 HTML 中嵌入 Go 代码,并使用 {{...}} 语法定义模板变量和控制结构。
  2. 模板执行: 提供了 Execute 和 ExecuteTemplate 方法,用于将模板应用于数据并生成最终的 HTML。
  3. 模板函数: 支持自定义的模板函数,以便在模板中执行自定义的操作。
示例

如何使用 html/template 包创建和执行 HTML 模板:

package main import ( "html/template" "os" ) // 数据结构 type Person struct { Name string Age int City string } func main() { // HTML 模板定义 htmlTemplate := ` {<!-- -->{.Name}}'s Profile

{{.Name}}'s Profile

Age: {{.Age}}

City: {{.City}}

` // 创建模板对象 tmpl, err := template.New("profile").Parse(htmlTemplate) if err != nil { panic(err) } // 数据 personData := Person{ Name: "Alice", Age: 30, City: "Wonderland", } // 执行模板并输出到标准输出 err = tmpl.Execute(os.Stdout, personData) if err != nil { panic(err) } }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50

在这个示例中,定义了一个简单的 HTML 模板,并使用 template.New("profile").Parse 创建了一个模板对象。

然后,创建了一个 Person 结构体的实例作为数据,最后使用 tmpl.Execute 将数据应用于模板并输出到标准输出。


总结

这里我们介绍了3个库fmt、Go、html 3个库, 下一篇我们将介绍其他的几种标准库


专栏集锦

大佬们可以收藏以备不时之需:

Spring Boot 专栏:http://t.csdnimg.cn/peKde

ChatGPT 专栏:http://t.csdnimg.cn/cU0na

Java 专栏:http://t.csdnimg.cn/YUz5e

Go 专栏:http://t.csdnimg.cn/Jfryo

Netty 专栏:http://t.csdnimg.cn/0Mp1H

Redis 专栏:http://t.csdnimg.cn/JuTue

Mysql 专栏:http://t.csdnimg.cn/p1zU9

架构之路 专栏:http://t.csdnimg.cn/bXAPS


写在最后

感谢您的支持和鼓励!

标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索
排行榜