包的介绍

包类似Java中概念,jar
是源代码管理,分发的最小单位。

目前多数包来自 Github
官方包来自 golang.org/x/...

可以在如下网址查询到高频使用的第三方包清单
https://godoc.org

常用清单

  1. github.com/astaxie/beego 成熟稳定的Web框架,包含更过的Web Framework特性 国内开发者 astaxie
  2. github.com/go-redis/redis 连接Redis
  3. github.com/gomodule/redigo/redis 连接Redis
  4. github.com/jinzhu/gorm 数据库ORM框架,类似Java领域的HibernateMyBatis 国内开发者
  5. github.com/sirupsen/logrus 日志框架,类似Java领域的log4j
  6. github.com/robfig/cron 定时任务,类似Java领域的Quartz
  7. github.com/gin-gonic/gin 精巧高效的Web框架,多用于提供Web服务

Go 标准库可以大致按其中库的功能进行以下粗略的分类

  • 输入输出。这个分类包括二进制以及文本格式在屏幕、键盘、文件以及其他设备上的输
    入输出等,比如二进制文件的读写。对应于此分类的包有bufio、 fmt、 io、 log和flag
    等,其中 flag 用于处理命令行参数。
  • 文本处理。这个分类包括字符串和文本内容的处理,比如字符编码转换等。对应于此分
    类的包有encoding、 bytes、 strings、 strconv、 text、 mime、 unicode、 regexp、
    index和path等。其中path用于处理路径字符串。
  • 网络。这个分类包括开发网络程序所需要的包,比如Socket编程和网站开发等。对应于此
    分类的包有: net、 http和expvar等。
  • 系统。这个分类包含对系统功能的封装,比如对操作系统的交互以及原子性操作等。对
    应于此分类的包有os、 syscall、 sync、 time和unsafe等。
  • 数据结构与算法。对应于此分类的包有math、 sort、 container、 crypto、 hash、
    archive、 compress和image等。因为image包里提供的图像编解码都是算法,所以也
    归入此类。
  • 运行时。对应于此分类的包有: runtime、 reflect和go等。

常用包介绍

  • fmt:它实现了格式化的输入输出操作,其中的fmt.Printf()和fmt.Println()是开发者使用最为频繁的函数。
  • io:它实现了一系列非平台相关的IO相关接口和实现,比如提供了对os中系统相关的IO功能的封装。我们在进行流式读写(比如读写文件)时,通常会用到该包。
  • bufio:它在io的基础上提供了缓存功能。在具备了缓存功能后, bufio可以比较方便地提供ReadLine之类的操作。
  • strconv:本包提供字符串与基本数据类型互转的能力。
  • os:本包提供了对操作系统功能的非平台相关访问接口。接口为Unix风格。提供的功能包括文件操作、进程管理、信号和用户账号等。
  • sync:它提供了基本的同步原语。在多个goroutine访问共享资源的时候,需要使用sync中提供的锁机制。
  • flag:它提供命令行参数的规则定义和传入参数解析的功能。绝大部分的命令行程序都需要用到这个包。
  • encoding/json: JSON目前广泛用做网络程序中的通信格式。本包提供了对JSON的基本支持,比如从一个对象序列化为JSON字符串,或者从JSON字符串反序列化出一个具体的对象等。
  • http:它是一个强大而易用的包,也是Golang语言是一门“互联网语言”的最好佐证。通过http包,只需要数行代码,即可实现一个爬虫或者一个Web服务器,这在传统语言中是无法想象的。

完整包列表

golang学习笔记 ---常用第三方包的更多相关文章

  1. golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍

    golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍 go语言爬虫框架:gocolly/colly,goquery,colly,chrom ...

  2. springmvc学习笔记(常用注解)

    springmvc学习笔记(常用注解) 1. @Controller @Controller注解用于表示一个类的实例是页面控制器(后面都将称为控制器). 使用@Controller注解定义的控制器有如 ...

  3. golang学习笔记8 beego参数配置 打包linux命令

    golang学习笔记8 beego参数配置 打包linux命令 参数配置 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/docs/mvc/contro ...

  4. golang学习笔记7 使用beego swagger 实现API自动化文档

    golang学习笔记7 使用beego swagger 实现API自动化文档 API 自动化文档 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/doc ...

  5. golang学习笔记6 beego项目路由设置

    golang学习笔记5 beego项目路由设置 前面我们已经创建了 beego 项目,而且我们也看到它已经运行起来了,那么是如何运行起来的呢?让我们从入口文件先分析起来吧: package main ...

  6. golang学习笔记5 用bee工具创建项目 bee工具简介

    golang学习笔记5 用bee工具创建项目 bee工具简介 Bee 工具的使用 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/docs/instal ...

  7. go语言,golang学习笔记3 用命令下载框架报错问题解决 设置环境变量

    go语言,golang学习笔记3 用命令下载框架报错问题解决 设置环境变量 下载安装:go get github.com/astaxie/beego 首页 - beego: 简约 & 强大并存 ...

  8. go语言,golang学习笔记2 web框架选择

    go语言,golang学习笔记2 web框架选择 用什么go web框架比较好呢?能不能推荐个中文资料多的web框架呢? beego框架用的人最多,中文资料最多 首页 - beego: 简约 & ...

  9. go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE

    go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE Go语言是谷歌2009发布的专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速 ...

随机推荐

  1. UltraISO 下载

    链接:https://pan.baidu.com/s/1Wf0TmB8L9falKyGu8NwvBw 提取码:1cu8 参考: https://jingyan.baidu.com/article/cb ...

  2. UDF——Fluent与Matlab数据耦合

    本文编译工具:VC++ UDF Studio 该插件可以直接在Visual Studio中一键编译.加载.调试UDF源码,极大提高编写排错效率,且支持C++,MFC,Windows API和第三方库, ...

  3. Dynamic_Rankings(动态区间第k大)

    ZOJ - 2112 \[ \ \] (那些说这道题是树状数组套主席树的人一定对主席树有误解!) 这里我们用树状数组套线段树来解决来写 首先 , 我们需要有n棵线段树(不是\(n^2\)空间,别慌) ...

  4. js svg转图片格式

      1.情景展示 闲来无事的时候,发现chrome扩展程序里面有图像,本想下载下来,却发现文件格式是svg格式,如何将svg文件改成图片格式? chrome-extension://jlgkpaici ...

  5. VS 点击页面自动定位到解决方案资源管理器目录位置

    点击工具→选项→项目和解决方案:勾上“在解决方案资源管理器中跟踪活动项”.

  6. Better intuition for information theory

    Better intuition for information theory 2019-12-01 21:21:33 Source: https://www.blackhc.net/blog/201 ...

  7. Go安装配置和《菜鸟教程之Go语言教程》学习笔记

    Go 语言是一种让代码分享更容易的编程语言 菜鸟教程-Go语言教程(这个教程过于基础,体现不了Go的特性和强大.) 下载/安装Go语言 https://golang.org/dl/ Mac OS X ...

  8. fluid.io.load_inference_model 载入多个模型的时候会报错 -- [paddlepaddle]

    将多个模型部署到同一个服务时,会出现stack错误. 原因是program为全局. 改成这样,可以解决. solved by myself. for those who need it:use a n ...

  9. 004 制作自己的Java镜像

    一:制作镜像 1.需要的知识 dockfile docker build Jpress : http://jpress.io/       开源免费的新媒体运营系统 2.下载jpress http:/ ...

  10. java判断文件真实类型

    代码如下: import java.io.FileInputStream; import java.io.IOException; import java.util.HashMap; /** * &l ...