随笔分类 - go
go
摘要:目录go go代码中调用python脚本写个简单的py脚本再写个go的脚本 go go代码中调用python脚本 有的官方文档只提供了java和python的sdk,而我们需要用他们封装的服务,只能调用python或java的接口,接下来演示怎么调用python 写个简单的py脚本 import s
阅读全文
摘要:##go 安装go环境 ###mac安装go环境 ####安装包下载 https://golang.google.cn 下载后傻瓜式安装,一直点下一步,直至安装结束 ####配置修改 默认安装路径: /usr/local/go 默认编译启动文件:/usr/local/go/bin/go 配置项目目录
阅读全文
摘要:##go context用法 在 Go1.7 中,标准库加入了 context 包,context 包定义了一个 Context (上下文)类型,可以在 Api 之间和进程之间传递信息,还提供了超时(timeout)和取消(cancel)机制。 Go 标准库中,database/sql,net,ne
阅读全文
摘要:##go gin验证码 在开发的过程中,我们有些接口为了防止被恶意调用,我们会采用加验证码的方式,例如:发送短信的接口,为了防止短信接口被频繁调用造成损失;注册的接口,为了防止恶意注册。在这里为大家推荐一个验证码的类库,方便大家学习使用。 github.com/dchest/captcha web端
阅读全文
摘要:##go Air实时加载 本章我们要介绍一个神器——Air能够实时监听项目的代码文件,在代码发生变更之后自动重新编译并执行,大大提高gin框架项目的开发效率。 ###为什么需要实时加载 之前使用Python编写Web项目的时候,常见的Flask或Django框架都是支持实时加载的,你修改了项目代码之
阅读全文
摘要:##go gin日志 ###日志文件 package main import ( "io" "os" "github.com/gin-gonic/gin" ) func main() { gin.DisableConsoleColor() // Logging to a file. f, _ :=
阅读全文
摘要:##go gin参数验证 ###结构体验证 用gin框架的数据验证,可以不用解析数据,减少if else,会简洁许多 package main import ( "fmt" "time" "github.com/gin-gonic/gin" ) //Person .. type Person str
阅读全文
摘要:##go gin会话控制 ###Cookie介绍 HTTP是无状态协议,服务器不能记录浏览器的访问状态,也就是说服务器不能区分两次请求是否由同一个客户端发出 Cookie就是解决HTTP协议无状态的方案之一,中文是小甜饼的意思 Cookie实际上就是服务器保存在浏览器上的一段信息。浏览器有了Cook
阅读全文
摘要:##go gin渲染 ###各种数据格式的响应 json、结构体、XML、YAML类似于java的properties、ProtoBuf package main import ( "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/testda
阅读全文
摘要:##gin 数据解析和绑定 ###Json 数据解析和绑定 客户端传参,后端接收并解析到结构体 package main import ( "github.com/gin-gonic/gin" "net/http" ) // 定义接收数据的结构体 type Login struct { // bin
阅读全文
摘要:##go gin路由 ###hello world package main import ( "net/http" "github.com/gin-gonic/gin" ) func main() { // 1.创建路由 r := gin.Default() // 2.绑定路由规则,执行的函数 /
阅读全文
摘要:##go grpc入门 gRPC是Google公司基于Protobuf开发的跨语言的开源RPC框架。gRPC基于HTTP/2协议设计,可以基于一个HTTP/2链接提供多个服务,对于移动设备更加友好(比较省电)。本节将讲述gRPC的简单用法 这个是我们之前定义的接口 package service c
阅读全文
摘要:目录go rpc1.1 Go语言RPC2.1 "Hello, World"2.1.1 RPC Server2.1.2 RPC Client2.1.3 测试3.1 基于接口的RPC服务3.1 gob编码4.1 Json ON TCP5.1 Json ON HTTP go rpc RPC是远程过程调用的
阅读全文
摘要:##go 常见报错 ###go panic unknown driver "mysql" //出现上述错误 是因为没有引入MySQL的相关包 _ "github.com/jinzhu/gorm/dialects/mysql" ###go expected 'package', found 'EOF'
阅读全文
摘要:##go Beego框架 beego是一个大而全的http框架,用于快速开发go应用程序。bee工具提供诸多命令,帮助我们进行 beego 项目的创建、热编译、开发、测试、和部署。 go get github.com/astaxie/beego go get github.com/beego/bee
阅读全文
摘要:[toc] ##go 并发编程 ###1.1 并发模型 任何语言的并行,到操作系统层面,都是内核线程的并行。同一个进程内的多个线程共享系统资源,进程的创建、销毁、切换比线程大很多。从进程到线程再到协程, 其实是一个不断共享, 不断减少切换成本的过程。 python模型  { fmt.Println(fxinit2(1,2)) //泛型。go 1.17版本不支持泛型,运行mian的脚本时,打开idea左下方Terminal运行,需要加上 go run -gcflags=-G=3 test1.go fmt.Println(fxin
阅读全文
摘要:##go 特征提取 ###1.1 简介 电商领域给用户推荐商品,计算用户点击每个商品的概率,按概率从大到小排序。概率计算公式:y^=w1x1+w2x2+w3x3+…,w是权重,x非0即1,代表各个特征具体的取值,比如 连续特征离散化: 分箱法。比如年龄,指定分割点18,25,30,35,40 取对数
阅读全文
摘要:##go 单例模式 //单例模式 //确保并发的情况下,让某段代码只会被执行一次 var ( name *gzhsinit1 //调用并发只执行一次的模块 sync,这个once应该是一一对应的,多个单例模式的时候不能共用一个once,否则会阻塞影响 once sync.Once ) //这里返回值
阅读全文
摘要:##go 接口 ###1.1 接口实例 //interface 接口是一组行为规范的集合 type interfaceninit1er interface { //定义接口,通常接口名以er结尾 //接口里面之定义方法,不定义变量 move(src string,int string) (int,e
阅读全文