随笔分类 - Golang
摘要:1、切片忠找出最大数放到最后 package main import "fmt" func main() { a := []int{101, 108, 107, 1000, 1000, 392, 105, 109, 103, 102} fmt.Println(a) max := a[0] var m
阅读全文
摘要:go 查询es报错: 一、问题描述: elasticsearch 分页查询数据,刚开始数据还可以正常显示,但是到后面就报错: panic: elastic: Error 400 (Bad Request): all shards failed [type=search_phase_execution
阅读全文
摘要:判断通道是否有数据,无数据退出 package main import ( "bufio" "fmt" "io" "os" ) func FileRead(filename string, filesChan chan string) { defer close(filesChan) // 处理完退
阅读全文
摘要:1、下载所有依赖(切换到项目目录) go get -d -v ./... 2、windows下打Linux包 set GOARCH=amd64 set GOOS=linux go build
阅读全文
摘要:gin 框架解决跨域问题 package main import ( "gin_es7/es" "github.com/gin-contrib/cors" "github.com/gin-gonic/gin" "time" ) func Atime(t string) string { //fmtt
阅读全文
摘要:es 从文件中读取查询信息 统计后放到文件中 package main import ( "context" "fmt" elastic "github.com/olivere/elastic/v7" "time" ) var host = []string{ "http://192.168.0.2
阅读全文
摘要:package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) // 定义表字段 type user struct { id int name string age int } var db *sql.D
阅读全文
摘要:https://www.cnblogs.com/rainight/p/10244748.html 此步骤按出来没有反应,可使用ctrl+shift+p 去手动选择 打开配置文件
阅读全文
摘要:字符串切割 含多个空格 package main import( "fmt" "regexp" "strings" ) func main(){ s := " a b c d e " reg := regexp.MustCompile(`\s+`) array := reg.Split(string
阅读全文
摘要:反射是语言里面是非常重要的一个特性,我们经常会看见这个词,但是对于反射没有一个很好的理解,主要是因为对于反射的使用场景不太熟悉。 一、理解变量的内在机制 1.类型信息,元信息,是预先定义好的,静态的。 2.值信息,程序进行过程中,动态变化的。 二、反射和空接口 1.空接口相当于一个容器,能接受任何东
阅读全文
摘要:一、读文件操作 func FileRead(path string) { file, err := os.Open(path) if err != nil { fmt.Println("open file err=", err) } rb := make([]byte, 1024, 1024) fo
阅读全文
摘要:1. 基本介绍 Golang 仍然有面向对象编程的继承,封装和多态的特性,只是实现的方式和其它 OOP 语言不一样,下面我们一一为同学们进行详细的讲解 Golang 的三大特性是如何实现的。 2. 封装介绍 封装(encapsulation)就是把抽象出的字段和对字段的操作封装在一起,数据被保护在内
阅读全文
摘要:Golang 的结构体没有构造函数,通常可以使用工厂模式来解决这个问题。 一般结构体名称为大写字母开头才能被外部函数调用,用工厂模式来解决 示例: student.go package model // 定义一个结构体 type student struct { Name string Score
阅读全文
摘要:在默认情况下,当发生错误后(panic),程序就会退出(崩溃)。 如果希望发生错误后程序还能继续运行就要做错误处理 使用defer+recover来捕捉和处理异常 go语言追求简洁优雅,所有go不支持传统的try、catch、finally这种处理 go中引入的方式是:defer、panic、rec
阅读全文
摘要:package main import ( "fmt" "strconv" "time" ) func main() { // 获取当前时间 now := time.Now() fmt.Println(time.Now()) // 通过now获取年月日,分时秒 fmt.Printf("年:%v\n"
阅读全文
摘要:package main import ( "fmt" "strconv" "strings" ) func main() { // 字符串长度 str := "hello北" fmt.Println("str len():", len(str)) // 带中文的字符串变量 str2 := "hel
阅读全文

浙公网安备 33010602011771号