配置

go-ini/ini

用于读取 ini 格式配置文件。

地址:https://github.com/Go-ini/ini

tomal

用于读取 conf 格式配置文件。

地址:https://github.com/BurntSushi/toml

go-yaml/yaml

用于读取 yaml 格式配置文件。

地址:https://github.com/go-yaml/yaml

wblog/system.go at master · wangsongyan/wblog

https://github.com/wangsongyan/wblog/blob/master/system/system.go


type Configuration struct {
Addr string `yaml:"addr"`
} var config *Configuration func LoadConfig() error {
data, err := ioutil.ReadFile("conf/conf.yaml")
if err != nil {
return err
} err = yaml.Unmarshal(data, &config)
if err != nil {
return err
}
} func GetConfig() *Configuration {
return config
}

日志

beego/logs

文档:https://beego.me/docs/module/logs.md

示例:

package util

import (
"errors"
"fmt"
"github.com/astaxie/beego/logs"
) var Logger *logs.BeeLogger func InitLog() error {
Logger = logs.NewLogger(10) //缓冲区的大小
Logger.SetLevel(logs.LevelDebug) // 设置日志写入缓冲区的等级:Debug级别(最低级别,所以所有log都会输入到缓冲区)
Logger.EnableFuncCallDepth(true) //显示行号 jsonConfig := fmt.Sprintf(`{"filename":"%s/log/sample.log", "daily":true,"maxdays":7,"rotate":true}`, GetCurrPath())
err := Logger.SetLogger(logs.AdapterMultiFile, jsonConfig)
if err != nil {
return errors.New("init log error:" + err.Error())
}
Logger.Async(10) //设置缓冲 chan 的大小
return nil
} func GetCurrPath() string {
file, _ := exec.LookPath(os.Args[0])
path, _ := filepath.Abs(file)
index := strings.LastIndex(path, string(os.PathSeparator))
ret := path[:index]
return ret
}

logrus

seelog

logger, err := log.LoggerFromConfigAsFile("conf/seelog.xml")

if err != nil {
return err
} log.ReplaceLogger(logger) //start
seelog.Debug("something...")

配置文件?

详见:https://astaxie.gitbooks.io/build-web-application-with-golang/zh/12.1.html

Session

目前Go标准包没有为session提供任何支持,需要自行实现。实现方法详见:https://astaxie.gitbooks.io/build-web-application-with-golang/content/zh/06.2.html

也可以使用beego框架里已经实现的:

go get github.com/astaxie/beego/session

详见:https://beego.me/docs/module/session.md

日期

Email

示例:

package email

import (
"gopkg.in/gomail.v2"
"strconv"
) //发送邮件
func SendMail(mailTo []string, subject string, body string) error { //定义邮箱服务器连接信息,如果是阿里邮箱 pass填密码,qq邮箱填授权码
mailConn := map[string]string{
"user": "",
"pass": "",
"host": "",
"port": "",
} port, _ := strconv.Atoi(mailConn["port"]) //转换端口类型为int m := gomail.NewMessage()
m.SetHeader("From", mailConn["user"]) //这种方式可以添加别名
m.SetHeader("To", mailTo...) //发送给多个用户
m.SetHeader("Subject", subject) //设置邮件主题
m.SetBody("text/html", body) //设置邮件正文 d := gomail.NewDialer(mailConn["host"], port, mailConn["user"], mailConn["pass"]) err := d.DialAndSend(m)
return err }

定时器

https://github.com/robfig/cron

参考

1、Build web application with Golang

https://astaxie.gitbooks.io/build-web-application-with-golang/zh/

2、avelino/awesome-go: A curated list of awesome Go frameworks, libraries and software

https://github.com/avelino/awesome-go

3、jobbole/awesome-go-cn: Go 资源大全中文版

https://github.com/jobbole/awesome-go-cn

4、hackstoic/golang-open-source-projects: 为互联网IT人打造的中文版awesome-go

https://github.com/hackstoic/golang-open-source-projects

5、Search · awesome-go

https://github.com/search?q=awesome-go

go第三方常用包的更多相关文章

  1. eclipse 项目引入第三方jar包 3种方法

    我们在用Eclipse开发程序的时候,经常要用到第三方jar包.引入jar包不是一个小问题,由于jar包位置不清楚,而浪费时间.下面配图说明3种Eclipse引入jar包的方式. 1.最常用的普通操作 ...

  2. 【转】Mapreduce部署与第三方依赖包管理

    Mapreduce部署是总会涉及到第三方包依赖问题,这些第三方包配置的方式不同,会对mapreduce的部署便捷性有一些影响,有时候还会导致脚本出错.本文介绍几种常用的配置方式: 1. HADOOP_ ...

  3. Mapreduce部署与第三方依赖包管理

    Mapreduce部署是总会涉及到第三方包依赖问题,这些第三方包配置的方式不同,会对mapreduce的部署便捷性有一些影响,有时候还会导致脚本出错.本文介绍几种常用的配置方式: 1. HADOOP_ ...

  4. Maven的默认中央仓库以及修改默认仓库&配置第三方jar包从私服下载

    当构建一个Maven项目时,首先检查pom.xml文件以确定依赖包的下载位置,执行顺序如下: 1.从本地资源库中查找并获得依赖包,如果没有,执行第2步. 2.从Maven默认中央仓库中查找并获得依赖包 ...

  5. Eclipse如何导入第三方jar包

    本文转自:http://blog.csdn.net/mazhaojuan/article/details/21403717  我们在用Eclipse开发程序的时候,经常要用到第三方jar包.引入jar ...

  6. 转:Maven的默认中央仓库以及修改默认仓库&配置第三方jar包从私服下载

    当构建一个Maven项目时,首先检查pom.xml文件以确定依赖包的下载位置,执行顺序如下: 1.从本地资源库中查找并获得依赖包,如果没有,执行第2步. 2.从Maven默认中央仓库中查找并获得依赖包 ...

  7. python安装第三方的包

    转载自:http://blog.csdn.net/xyqzki/article/details/38414433 第一种基本安装方法 1 下载第三方包,解压 2 在命令提示符里输入cmd,然后用cd进 ...

  8. Node.js 安装第三方模块包(npm),通过 package.json配置信息安装项目依赖的模块

    npm下载安装的第三方模块包官网(提供包名和使用方法):https://www.npmjs.com/ 淘宝镜像(国内,比较快):https://npm.taobao.org/ commonjs01.j ...

  9. flutter如何使用配置文件pubspec.yaml(位于项目根目录)来管理第三方依赖包

    官方文档 在软件开发中,很多时候有一些公共的库或SDK可能会被很多项目用到,因此,将这些代码单独抽到一个独立模块,然后哪个项目需要使用时再直接集成这个模块,便可大大提高开发效率.很多编程语言或开发工具 ...

随机推荐

  1. ERROR 1129 (00000) Host ‘XXXXXX’ is blocked because of many connection errors; unblock with ‘mysqlad

    1.今天早上由于公司网络带宽达到上限,导致多台web服务器连接mysql服务器超时.后来情况好转后,连接数据库服务器出现如下错误. Host '*' is blocked because of man ...

  2. React.js/HTML5和iOS双向通信

    最近,我使用WKWebView和React.js进行双向通信,自己写了React.js嵌入到Native中. Native操作Web,通过两种方式传值 第一种,通过JS传值给Native 通过这种方式 ...

  3. console.log添加样式及图片

    console.log在控制台打出css样式的文字及图片 谷歌开发者中心上面关于谷歌浏览器控制台console.log()的文档 Format Specifier %s Formats the val ...

  4. python设置检查点简单实现

    说检查点,其实就是对过去历史的记录,可以认为是log.不过这里进行了简化.举例来说,我现在又一段文本.文本里放有一堆堆的链接地址.我现在的任务是下载那些地址中的内容.另外因为网络的问题或者网站的问题, ...

  5. 我的学习归纳方法(以学习Maven为例)

    以我的个人角度来看待学习这件长久的事,希望对你有帮助,也希望你能提一下你的意见 本文初衷 把自己模板化 以此篇为引,与同行沟通心得,所以在此严重要求如果你有对应的心得还请能回复下,真心感谢!(鞠躬) ...

  6. LiteOS内核教程01-IoT-Studio介绍及安装

    1. 物联网一站式开发工具 -- IoT Studio IoT Studio 是支持 LiteOS 嵌入式系统软件开发的工具,提供了代码编辑.编译.烧录 及调试等一站式开发体验,支持 C.C++.汇编 ...

  7. java集合-set

    #java集合-set Map用于存储key-value的映射,其中key的值是不能重复的.并且还需要正确的覆写equals方法和hashCode方法 如果我们只需要存储不重复的key,并不需要存储对 ...

  8. 难住了同事:Java 方法调用到底是传值还是传引用

    Java 方法调用中的参数是值传递还是引用传递呢?相信每个做开发的同学都碰到过传这个问题,不光是做 Java 的同学,用 C#.Python 开发的同学同样肯定遇到过这个问题,而且很有可能不止一次. ...

  9. mongoDb性能提升

    最近在弄MongoDB的时候 发现只按照官网的方式进行操作的话,性能不行,想着用单例模式封装一下,提升一下性能,代码如下: //引入mongodb相关的模块 const MongoClient = r ...

  10. 7-1 jmu-python-汇率兑换 (10 分)

    7-1 jmu-python-汇率兑换 (10 分)   按照1美元=6人民币的汇率编写一个美元和人民币的双向兑换程序 输入格式: 输入人民币或美元的金额,人民币格式如:R100,美元格式如:$100 ...