Golang读取文件和处理超大文件方案--转载

发布时间:2024-02-06 15:24:27   分类:golang

1. 文件整体读取文件整体读取就是将文件一次性读取到,理解上是将文件的内容第一次就读取完了使用场景 :针对小文件比较合适(大文件读取空间和时间的消耗也很大)对于整体性强的文件也比较合适(文件也不能太大)1、package main import ( "bufio" "fmt" "io" "io/ioutil" "log" "os" "time" ) // 测试用的文本文件11M大小 var m11 string =&

Golang面试基础整理

发布时间:2022-12-08 17:43:32   分类:golang

1、Golang中的panic(异常)和recover(捕获异常)      panic的作用就是抛出一条错误信息,从它的参数类型可以看到它可以抛出任意类型的错误信息。在函数执行过程中的某处调用了panic,则立即抛出一个错误信息,同时函数的正常执行流程终止,但是该函数中panic之前定义的defer语句将被依次执行。之后该goroutine立即停止执行。recover()用于将panic的信息捕捉。recover必须定义在panic之前的defer语句中。在这种情况下,当panic被触发时,该goroutine不会简单的终止,而是会执行在它之前定义的defer语句。2、Golang 之 struct能不能比较 

golang 错误:exec: “\\go-build\\b001\\exe\\t“: file does not

发布时间:2022-11-15 18:23:37   分类:golang

错误原因,是因为我们使用的系统本身是Windows 系统。 想交叉编译Linux系统。将go语言环境变量,GOOS 设置成了 linux,导致项目运行失败解决办法:将环境变量中的GOOS属性,改成windows属性即可。go env -w GOOS=windows

golang gorm 数据库连接池不回收,累计增加

发布时间:2022-11-09 10:53:00   分类:php

sqlDB.SetConnMaxLifetime(time.Second * 60)  设置时间 func DB() *gorm.DB {    var config config.Config    conf := config.GetConf()    dsn := conf.Database.Source //"root:root@tcp(localhost:3306)/db?charset=u

CentOS 8 yum 安装Redis ,安装Golang,RPM安装MySQL

发布时间:2021-11-11 14:06:17   分类:php

国内的话建议修改yum源为阿里云,修改方法参考: CentOS 8修改yum源为国内源;1.添加EPEL仓库在CentOS或Red Hat系统中,需要先添加EPEL仓库 #添加EPEL仓库 sudo yum install epel-release #更新yum源sudo yum update2.安装yum install redis3.启动systemctl start redis4.设置开机自启systemctl enable redis5.修改配置打开/etc/redis.conf文件。1)允许远程连接找到下面这一行,注释掉:b

golang 获取当前年月日周

发布时间:2021-09-10 10:35:47   分类:golang

func WeekByDate(t time.Time) (y int, m int, w int, d string) {    yearDay := t.YearDay()    yearFirstDay := t.AddDate(0, 0, -yearDay+1)    firstDayInWeek := int(yearFirstDay.Weekday()) &

golang 获取2个时间的月分

发布时间:2021-09-10 10:34:33   分类:golang

//获取2个时间的月分 func GetMoths(starttime, endttime time.Time) []string {    arr := []string{}    if starttime.Sub(endttime) > 0 {       cyears := starttime.Year()       cmo

golang 将开始时间和结束时间分割为周为单位

发布时间:2021-09-10 10:33:49   分类:golang

// 将开始时间和结束时间分割为周为单位 func GroupByWeekDate(startTime, endTime time.Time) []WeekDate {    weekDate := make([]WeekDate, 0)    diffDuration := endTime.Sub(startTime)    days := int(math.Ceil(float64(diffDuration/(time.Ho

golang 根据开始日期和结束日期计算出时间段内所有日期 分24小时时段

发布时间:2021-09-10 10:31:03   分类:golang

// GetBetweenDates 根据开始日期和结束日期计算出时间段内所有日期 // 参数为日期格式,如:2020-01-01 func GetBetweenDates(sdate, edate string) []string {    d := []string{}    if sdate == edate {       d = append(d, 

golang 根据开始日期和结束日期计算出时间段内所有日期

发布时间:2021-09-10 10:29:41   分类:golang

// 参数为日期格式,如:2020-01-01 func GetBetweenDates(sdate, edate string) []string {    d := []string{}    if sdate == edate {       d = append(d, sdate)       return&n