Golang
文章平均质量分 61
抬头看天空
这个作者很懒,什么都没留下…
展开
-
实战解决获取mp4格式文件信息,时长等及mp4存储结构探索
实战解决获取mp4格式文件信息,时长等及mp4存储结构探索一、认识mp4MP4的组成BOX简介Movie Box,存储 mp4 的 metadata,一般位于mp4文件的开头。二、通过工具获取mp4时长及元信息通过ffprobe对视频进行分析三、解析mp4获取关键BOX获取元信息通过格式获取时长信息一、认识mp4MP4文件的格式主要由 MPEG-4 Part 12、MPEG-4 Part 14 两部分进行定义。其中,MPEG-4 Part 12 定义了ISO基础媒体文件格式,用来存储基于时间的媒体内容。原创 2022-02-23 19:11:37 · 3841 阅读 · 1 评论 -
strconv,strings的学习(三)
一、strconv的学习1.转换值添加到字符串后面//根据 b 的值将“true”或“false”附加到 dst 并返回扩展缓冲区。func AppendBool(dst [] byte , b bool ) [] byte//转化为float类型func AppendFloat(dst [] byte , f float64 , fmt byte , prec, bitSize int ) [] byte//转化为int类型func AppendInt(dst [] byte , i i原创 2022-02-06 17:35:21 · 667 阅读 · 0 评论 -
csv, json,time包的学习(二)
csv, json,time包的学习(二)一、CSV1.type Reader2.func (*Reader) FieldPos 1.17新加入3.Writer二、json的使用三、time包func After Afterfunc Tick(d Duration ) <-chan Timefunc ParseDuration函数时区输入月份滴答器/定时器重置滴答器为指定时间d定时器一、CSV1.type Readertype Reader struct { Comma rune //指原创 2022-01-27 13:09:49 · 676 阅读 · 0 评论 -
math,fmt, io基础包的学习
一、math提供基本常数和数学函数1.数的绝对值func Abs(x float64 ) float64特殊情况Abs(±Inf) = +InfAbs(NaN) = NaN2.func Cbrt(x float64 ) float64func Cbrt(x float64 ) float643.Floor 返回小于或等于 x 的最大整数值。func Floor(x float64 ) float644.Ceil 返回大于或等于 x 的最小整数值。func Ceil(x flo原创 2022-01-23 20:56:21 · 875 阅读 · 0 评论 -
GO语言对数组切片去重
1.go中没有去重方法自己实现package mainimport ( "fmt")func main() { s := []string{"hello", "world", "hello", "golang", "hello", "ruby", "php", "java"} fmt.Println(removeDuplicateElement(s)) //output: hello world golang ruby php java}func removeD原创 2022-01-16 19:33:59 · 2034 阅读 · 0 评论 -
go语言实战es,高亮全文检索关键词等!
Golang实战ES一、ES的安装下载elasticSearch7.7.0docker-compose启动elasticSearch7.7.0安装中文分词器IK注意事项二、ES的简单的应用查询简单查询复合条件查询三、ES的在go中实战项目运用安装连接查询索引添加查询更新删除一、ES的安装下载elasticSearch7.7.0docker pull elasticsearch:7.7.0 //下拉镜像docker images //查看镜像//创建所需文件mkdir -p /myd原创 2021-09-26 15:41:40 · 2181 阅读 · 3 评论 -
gin实现百度云文件上传服务
1.gin文件上传1.文件上传 接收文件 //为 multipart forms 设置较低的内存限制 (默认是 32 MiB) router.MaxMultipartMemory = 8 << 20 // 8 MiB router.POST("/upload", func(c *gin.Context) { // 单文件 file, _ := c.FormFile("file") log.Println(file.Filename)原创 2021-01-30 11:24:52 · 288 阅读 · 0 评论 -
Golang中os.Reader和ReaderAt的区别,及ReaderAt快速读取日志文件的实现
go中区别Read和ReadAt一、os.Read()二、os.ReadAt()三、os.Read()和os.ReadAt()区别及注意事项一、os.Read()// Read reads up to len(b) bytes from the File.// It returns the number of bytes read and any error encountered.// At end of file, Read returns 0, io.EOF.func (f *File) R原创 2021-10-14 19:57:04 · 995 阅读 · 0 评论 -
gin绑定数据文档.doc
/*Package validator implements value validations for structs and individual fieldsbased on tags.It can also handle Cross-Field and Cross-Struct validation for nested structsand has the ability to dive into arrays and maps of any type.see more exampl原创 2020-10-31 16:01:19 · 347 阅读 · 1 评论 -
惊,你不知道go语言结构体指针的三大方法使用详解!
go语言结构体的巧妙运用一、引言二、三种方式三、区别四、不同场景下的使用五、需要用到变量进行赋值的时候使用六、懒加载使用一、引言go语言相比于Java多了指针的使用,因此在变量的使用上,更加灵活。但是巧妙的使用能避免内存的浪费!二、三种方式 var c1 *Config var c2 = &Config{} c3 := new(Config)三、区别上面的三种方式返回的都是指针,但是又有什么区别呢?fmt.Println(reflect.TypeOf(c1),reflect.Ty原创 2021-08-21 21:08:49 · 517 阅读 · 1 评论 -
golang变量得声明
1.标准声明Go语言的变量声明格式为:var 变量名 变量类型2.变量声明以关键字var开头,变量类型放在变量的后面,行尾无需分号。 举个例子:var name stringvar age intvar isOk bool3.批量声明每声明一个变量就需要写var关键字会比较繁琐,go语言中还支持批量变量声明:var ( a string b int c bool d float32)4.类型推导有时候我们会将变量的类型省略,这个时候编译器会根据等原创 2020-08-23 11:45:34 · 277 阅读 · 0 评论