Golang实现http server提供压缩文件下载功能

最近遇到了一个下载静态html报表的需求,需要以提供压缩包的形式完成下载功能,实现的过程中发现相关文档非常杂,故总结一下自己的实现。
开发环境:
系统环境:MacOS + Chrome
框架:b...

详解golang中的method

什么是method(方法)?method是函数的另外一种形态,隶属于某个类型的方法。method的语法:func (r Receiver) funcName (parameters) (result)receiver可以看作是method的第一个参数...

详解Golang语言中的interface

interface是一组method签名的组合,interface可以被任意对象实现,一个对象也可以实现多个interface。任意类型都实现了空interface(也就是包含0个method的interface),空interface...

go语言如何删除切片

1.声明变量,go自动初始化为nil,长度:0,地址:0,nilfunc main(){ var ss []string; fmt.Printf("length:%v \taddr:%p \tisnil:%v",len(ss),ss, ss==nil) } ---Running......

如何解决go语言输出中文乱码的问题

Go语言eclipse控制台输出中文乱码的解决方法编译一个输出消息中包含中文的Go程序,点击Run按钮,控制台输出乱码信息,如下图。点击菜单栏“Run”->“Run Configur...

go语言如何求字符串长度

Go语言计算字符串长度——len()和RuneCountInString()Go 语言的内建函数 len(),可以用来获取切片、字符串、通道(channel)等的长度。下面的代码可以用 len() 来获取...

关于golang封装一个bash函数,用于执行bash命令

在go中封装一个bash函数,用于执行bash命令package mainimport "os/exec"// 执行bash命令,返回输出以及执行后退出状态码func Bash(cmd string) (out string, exitcode int) {...

详解Golang使用MongoDB通用操作

MongoDB是Nosql中常用的一种数据库,今天笔者就简单总结一下Golang如何使用这些通用的供能的,不喜勿喷。。。       研究的事例结构如下:type LikeBest str...

Golang::slice和nil的对比分析

我就废话不多说了,大家还是直接看代码吧~package mainimport ( "fmt")func main() { var s1 []int if s1 == nil { fmt.Println("s1==nil") } else { fmt.Println(...

go 判断两个 slice/struct/map 是否相等的实例

可以通过 reflect.DeepEqual 比较两个 slice/struct/map 是否相等:package main import ( "fmt" "reflect") type A struct { s string} func main() { a1 := A{s: "abc"}...

Golang 如何判断数组某个元素是否存在(isset)

如,现在需要判断命令行是否传了参数,即 os.Args[1] 是否存在如果使用下述的判断:package main import ( "fmt" "os") func main() { if os.Args[1] != "" { fmt.Println("aaa")...

golang:json 反序列化的[]和nil操作

我就废话不多说了,大家还是直接看代码吧~package mainimport ( "encoding/json" "log")type JS struct { A []string}func main() { v1 := &JS{} v2 := &JS{A: []string{}} o...

golang判断net.Conn 是否已关闭的操作

在多线程的线程里边,用一个线程处理一条连接,如何判断连接已经关闭?试了一下,如果连接中断,读写会出现这种net.OpError,这个就可以判断是否断开但是我也不确定有没有更好的方法?如...

golang获取网卡信息操作

我就废话不多说了,大家还是直接看代码吧~package mainimport ( "fmt" "os/exec" "strings" "github.com/safchain/ethtool")func main() { baseNicPath := "/sys/class/net/"...

Go语言获取系统性能数据gopsutil库的操作

psutil是一个跨平台进程和系统监控的Python库,而gopsutil是其Go语言版本的实现。本文介绍了它的基本使用。Go语言部署简单、性能好的特点非常适合做一些诸如采集系统信息和监...

go语言 bool类型的使用操作

我就废话不多说了,大家还是直接看代码吧~// 1 声明类型,没有初始化,零值(false)var a boola = truefmt.Println("a = ", a) // 2 自动推导类型var b = falsefmt.Println("b...

go语言 全局变量和局部变量实例

一、局部变量1 定义在{}里面的变量时局部变量,只能在{}里面有效2 执行到定义的那句话,开始分配内存空间,离开作用域自动进行释放3 作用域,就是变量作用的范围package main impor...

浅谈golang中的&^位清空操作

如下所示:c = a &^ b含义:b 转为二进制时,值为1 的位置对应c的位置值为0;c中剩余位置值与a对应位置值相同(即:所谓的位清空操作,把b中1对应位置在c位置上清空),详见下面代码package m...

使用go的interface案例实现多态范式操作

看程序:package main import "fmt" type BaseIntf interface { Process()} type Msg1 struct { req int rsp int} func (p *Msg1) Process() { fmt.Println("process 1")} ty...

对Golang中的runtime.Caller使用说明

如下所示:func Caller(skip int) (pc uintptr, file string, line int, ok bool)参数:skip是要提升的堆栈帧数,0-当前函数,1-上一层函数,....返回值:pc是uintptr这个返回的是函数...

go判断文件夹是否存在并创建的实例

我就废话不多说了,大家还是直接看代码吧~package mainimport ( "fmt" "os")// 判断文件夹是否存在func PathExists(path string) (bool, error) { _, err := os.Stat(path) i...

使用go读取gzip格式的压缩包的操作

我就废话不多说了,大家还是直接看代码吧~package main// 引入所需包import ( "os" "compress/gzip" "io/ioutil" "fmt")// gzip文件var fn = "./113.200.251.66_15108255...

使用go操作redis的有序集合(zset)

我就废话不多说了,大家还是直接看代码吧~package mainimport ( "fmt" "github.com/garyburd/redigo/redis")func main() { // 连接redis数据库,指定数据库的IP和端口 conn, e...

golang使用aes库实现加解密操作

golang实现加密解密的库很多,这里使用的是aes库+base64库来实现.使用时,需要指定一个私钥,来进行加解密,这里指定是:var aeskey = []byte(“321423u9y8d2fwfl”)上代码...

解决Go语言数据库中null值的问题

本文主要介绍如何使用go语言database/sql库从数据库中读取null值的问题,以及如何向数据库中插入null值。本文在这里使用的是sql.NullString, sql.NullInt64, sql.NullFloat64...

返回顶部
顶部