go
gaoluhua
这个作者很懒,什么都没留下…
展开
-
Go语言:发送HTTP请求(GET & POST)
package mainimport ( "bytes" "encoding/json" "io" "io/ioutil" "net/http" "time")// 发送GET请求// url: 请求地址// response: 请求返回的内容func Get(url string) string { // 超时时间:5秒 client := &http.Client{Timeout: 5 * t原创 2022-05-19 08:40:42 · 4205 阅读 · 0 评论 -
go-bindata 与 gin 的结合对html进行渲染
Gin 是一个用 Go (Golang) 编写的 Web 框架。go-bindata 将任何文件封装在一个 Go 语言的 Source Code 里面,文件数据在转换为原始字节时可以选择使用 gzip 压缩,同时提供了统一的接口,帮助获取原始的文件数据.本文就是用go-bindata对html文件进行打包,实际上是生成asset.go文件,然后通过gin对asset.go进行渲染,特别是本文探讨了如何在渲染过程中传递参数。原创 2022-04-25 14:18:10 · 1619 阅读 · 0 评论 -
go 读取json文件 转成map
import "encoding/json" ptjsonpath:="./pt.json" f, err := os.Open(ptjsonpath) if err != nil { fmt.Println("open file err = ", err) return } defer f.Close() siteinfos:=make(map[string]Siteinfo) decoder := json.NewDecoder(f) err = decod.原创 2021-01-17 15:40:25 · 1848 阅读 · 0 评论 -
go 读取yaml文件 转成map
import ""gopkg.in/yaml.v3"" ptjsonpath:="./pt.yaml" f, err := os.Open(ptjsonpath) if err != nil { fmt.Println("open file err = ", err) return } defer f.Close() decode:=yaml.NewDecoder(f) siteinfo:=make(map[string]Siteinfo) err = decode...原创 2021-01-17 15:37:17 · 2117 阅读 · 0 评论 -
golang 十进制与其他进制转换 如2进制 8进制 16进制等
package mainimport ( "fmt" "math" "strconv" "strings")var tenToAny map[int]string = map[int]string{0: "0", 1: "1", 2: "2", 3: "3", 4: "4", 5: "5", 6: "6", 7: "7", 8: "8", 9: "9", 10: "a", 11: "b", 12: "c", 13: "d", 14: "e", 15: "f", 1.转载 2021-01-04 14:04:52 · 1878 阅读 · 0 评论 -
Go语言将10进制数转换为16进制数写入文件
package main import ( "fmt" "os") var ( num2char string a string) func decimalToAny(num, n, count int) string { new_num_str := "" var remainder int var remainder_string string for num != 0 { remainder = num % n remainder_strin.翻译 2021-01-04 13:56:26 · 1680 阅读 · 0 评论 -
ElasticSearch使用内置IK分词器,出现错误“request body or source parameter is required”
POSThttp://192.168.10.199:9200/_analyzebody-----raw-----json{"analyzer":"ik_smart","text":"中华人民共和国万岁"}引出 我们都知道ElasticSearch中有内置的IK分词器,然后我们启动ES后,可以尝试一下默认的IK分词器是什么效果的。在地址栏输入“http://127.0.0.1:9200/_analyze?analyzer=chinese&prett...翻译 2020-11-04 20:11:20 · 797 阅读 · 0 评论 -
ElasticSearch新增IK扩展词后,让历史数据生效方法
问题描述IK是ES的中文分词插件。在IK新增热词后,不会去更新历史数据,即新添加的热词只对后续的数据生效。而实际上我们常常需要对历史数据进行更新。解决办法使用ES自己提供的update_by_query接口。调用接口:http://127.0.0.1:9200/index*/_update_by_query?conflicts=proceed可以指定多个索引多个type。http://127.0.0.1:9200/index1,index2/type1,type2/_update_by_qu翻译 2020-11-03 21:49:11 · 1041 阅读 · 2 评论 -
Go语言:发送HTTP请求(GET & POST)
代码实例:package mainimport ( "bytes" "encoding/json" "io" "io/ioutil" "net/http" "time")// 发送GET请求// url: 请求地址// response: 请求返回的内容func Get(url string) string { // 超时时间:5秒 client := &http.Client{Timeou原创 2020-10-17 22:31:11 · 1602 阅读 · 0 评论 -
golang截取中文字符串
1.问题:在golang中可以通过切片截取一个数组或字符串,但是当截取的字符串是中文时,可能会出现的问题是:由于中文一个字不只是由一个字节组成,所以直接通过切片可能会把一个中文字的编码截成两半,结果导致最后一个字符是乱码。例如:想要截取前四个字 name := "我是胡八一" fmt.Println("name[:4] = ",name[:4])执行后得到的结果会是这样的:name[:4] = 我?2.解决方法:先将其转为[]rune,再截取后,转会str..原创 2020-10-17 21:19:27 · 2355 阅读 · 0 评论 -
golang中字符串MD5生成方式
方案一func md5V(str string) string { h := md5.New() h.Write([]byte(str)) return hex.EncodeToString(h.Sum(nil))}方案二func md5V2(str string) string { data := []byte(str) has := md5.Sum(data) md5str := fmt.Sprintf("%x", has..翻译 2020-10-17 18:21:32 · 1675 阅读 · 0 评论 -
go 字符转ASCII 字符转成数字
Go语言中有单个字符和ascii码值直接转换的方法吗?类似Python里的chr()和ord()的方法。golang的字符称为rune,等价于C中的char,可直接与整数转换 var c rune='a' var i int =98 i1:=int(c) fmt.Println("'a' convert to",i1) c1:=rune(i) fmt.Println("98 convert to",string(c1)) //string原创 2020-10-17 18:20:24 · 17768 阅读 · 0 评论 -
Golang使用zlib压缩和解压缩字符串 compress/zlib
在python的时候就习惯使用zlib进行网页压缩。 golang下同样使用zlib进行压缩解压缩。 zlib官方给出的方法很简单,这里权当一个补充.zlib.NewWriter() 只能传递 []byte类型数据. NewWriterLevel 可以传递压缩的等级.package main import ( "bytes" "compress/zlib" "fmt" "io") func main() { var in bytes.Buffer b := []byte...原创 2020-10-17 10:18:28 · 4517 阅读 · 0 评论 -
golang utf-8 转 gb2312
package encodingimport ( "bytes" "io/ioutil" "golang.org/x/text/encoding/simplifiedchinese" "golang.org/x/text/transform")func UTF82GB2312(s []byte)([]byte, error) { reader := transform.NewReader(bytes.NewReader(s), simplifiedchin.原创 2020-10-17 10:19:30 · 2836 阅读 · 0 评论 -
Go控制并发数量的几种方式
本文来自:Segmentfault感谢作者:iuoui查看原文:Go控制并发数量的几种方式https://segmentfault.com/a/1190000021856532?utm_campaign=studygolang.com&utm_medium=studygolang.com&utm_source=studygolang.com例子一func wa...转载 2020-03-01 20:07:28 · 1922 阅读 · 0 评论 -
golang go语言中 对文件大小字节单位的换算 PB TB GB MB KB B 保留小数
// 字节的单位转换 保留两位小数func formatFileSize(fileSize int64) (size string) { if fileSize < 1024 { //return strconv.FormatInt(fileSize, 10) + "B" return fmt.Sprintf("%.2fB", float64(fileSiz...原创 2020-03-01 13:36:53 · 10968 阅读 · 2 评论 -
go语言 golang中 关于json数据的处理 动态key 动态字段
一般的用法可以参考https://www.cnblogs.com/yorkyang/p/8990570.html本文主要介绍json中动态字段 动态key的处理方法例子一json字段{ "friends": [ { "id": 0, "name": "Robinson Woods" } ...原创 2020-02-22 15:36:54 · 8133 阅读 · 14 评论