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 获取当前年月日周

发布时间: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

Windows下升级golang版本

发布时间:2021-06-28 17:17:37   分类:golang

下载需要升级的版本https://golang.google.cn/dl/ 安装按照旧版本的同样目录安装,这样环境变量配置无需修改查看安装目录go env  GOROOT=D:\go   目录  GOVERSION=go1.16.5   版本

在golang中将Json.Number转换(interface conversion: interface {} is json.Number)

发布时间:2021-06-07 16:34:41   分类:golang

//go 出现json.Number类型转换错误处理panic: interface conversion: interface {} is json.Number, not float64//.int .int64f, err := data.(json.Number).Float64()