
go
面向未来的历史
这个作者很懒,什么都没留下…
展开
-
gorm多表联合查询
使用golang 中的orm, 即gorm 进行多表联合查询环境: Gin, gin-vue-admin, mysql1、定义get请求参数type ReqArticleItem struct { Page int. `form: page` PageSize int `form:"pageSize"` CategoryNameCn string `form:"categoryNameCn"` ContentNameCn string `form:"contentNa原创 2021-08-27 11:06:34 · 10513 阅读 · 1 评论 -
error: Your local changes to the following files would be overwritten by merge
准备使用go-micro进行开发,安装go get github.com/micro/micro报错:# cd /home/user/gopath/src/golang.org/x/crypto; git pull --ff-onlyerror: Your local changes to the following files would be overwritten by merge...原创 2020-04-03 22:31:04 · 723 阅读 · 0 评论 -
golang获取当前执行程序的路径
背景: linux golang在程序运行中,经常需要读取文件,如果文件路径写成绝对路劲,对于程序移植到其他机器上执行时,可能会出错,找不到文件。所以,最好的方式是写成相对路径。实现方式:假设有如下文件路径:test- - main.go - api - - testApi.gopackage packageimport ("path""runti...原创 2019-02-20 17:40:23 · 7721 阅读 · 1 评论 -
golang http urlencode
背景: 使用python httpserver搭建了一个关键词提取http服务,使用golang开发的服务,通过http请求访问httpserver。但是发现,httpserver接受到的参数的中文值编码错乱。包括之前在与前端联调其他服务时,发现前端发送的参数为 # 时,后面的参数会丢失, 或者直接curl调用接口时,url中的参数值带有空格是无法将请求发送到服务的。这些问题都是因为没有对进行u...原创 2018-12-12 10:43:51 · 7352 阅读 · 0 评论 -
cgo传递golang slice, 以及使用二级指针获取值
背景:在golang中调用c函数时,会通过slice传递一组数;以及想通过二级指针引用获取c中的变量值,这样就不用再c中单独定义变量,有可能还有手动释放变量。示例package main/*#include <stdio.h>int loop(int** list_data, int leng, char** data){ int* m = (int*)list_da...原创 2018-11-27 18:52:43 · 4933 阅读 · 0 评论 -
beego/golang 添加跨域访问
背景:使用beego开发接口,前端开发调用时,现实因为跨域访问导致失败。 一般api开发使用nginx作为代理转发,配置跨域访问直接修改nginx配置就行,由于自己不想使用nginx,所以直接修改beego配置。包下载安装 cors;go get github.com/astaxie/beego/plugins/cors说明文档。https://godoc.org/github....原创 2018-11-30 12:27:45 · 2010 阅读 · 0 评论 -
golang int64转int
背景:在cgo中,需要将golang的整数类型传到cgo中使用,但是不能直接传golang的int类型,而应该是 int32, 数值的内存长度才能与 c中int 长度一致。 但是有时 golang中获取到的整型是int64, 但是不能直接使用 int32 强制转换。以下将提供两种方法 ,将 golang int64 转换为golang int 。(golang int64转int32方法类似...原创 2018-11-24 15:12:36 · 36450 阅读 · 4 评论 -
cgo通过动静态库调用c/c++
1 动静态库的区别可以参考: C++静态库与动态库 https://www.cnblogs.com/skynet/p/3372855.html概括:动静态库区别总结:1 链接方式不一样。调用阶段不同动态库在程序运行的时候进行调用,静态库在链接阶段将汇编文件与引用到的库一起链接生成可执行文件。因此前者生成的可执行文件较后者小。 同时,当库文件改变时,动态库只需要重新编译库文件,而静态库需...原创 2018-11-19 12:34:40 · 2814 阅读 · 0 评论 -
golang中使用cgo调用c++程序
1 背景这两天在考虑使用golang搭建一个http服务,调用别人的linux sdk。由于linux sdk是用c写的,直接使用cgo调用c是很方便的,但是个人想使用c++来调用c的函数,封装成c++语法,c++可以使用一些库,对于开发是比较方便的,所以就得考虑使用cgo调用c++程序。网上一搜,目前实现cgo调用c++主要有三种方式:1 swig2 swift3 使用c包装c++,然...原创 2018-11-16 18:44:26 · 9812 阅读 · 1 评论 -
跨域访问
背景:1、 在使用beego开发后台接口,nginx作为反向代理,ajax请求后台接口。 2 、 beego后台使用session需要验证用户是否登录,但在beego中使用cookie时,针对session默认使用 httponly, 使得session cookie 被存储在response header 中, js无法获取,所以无法用js读取cookie,请求接口时,返回给接口,达到验...原创 2018-05-25 11:32:54 · 920 阅读 · 0 评论 -
go安装
环境: go1.9.2 centos 7下载:https://golang.org/dl/ 选择最新版本 go1.9.2.linux-amd64.tar.gz安装在user账户下 解压文件 go1.9.2.linux-amd64.tar.gz, 得到 go文件 将 go文件复制到 /usr/local 下面sudo mv go /usr/local配...原创 2018-01-06 18:46:44 · 825 阅读 · 0 评论