
go
henreash
Think Differently.
展开
-
goland服务热重启
开发web api或web项目,修改源码后,无需手动重启即可查看效果,使用air即可实现。安装air:go get -v -u github.com/cosmtrek/air(或下载所有源码后,go build,得到air.exe,拷贝到$gopath/bin目录)在项目目录下,创建.air.config文件,修改[build]中的cmd配置,设置为goland编译程序的命令行命令:cmd = "go build -o ./tmp/beego-demo.exe ./main.go"最终配置原创 2020-09-28 15:55:15 · 1432 阅读 · 0 评论 -
webassembly跨域访问
如出现如下错误:SEC7123: [CORS] 原点“https://localhost:44377”已阻止 preflight 请求,它的 Request Header “authorization”未出现在“http://localhost:12345/qry_pagition”的 cross-origin 请求的 Access-Control-Allow-Headers response header 列表中。说明请求header中含有authorization,但服务端不允许这样的heade原创 2020-09-11 11:12:03 · 2220 阅读 · 0 评论 -
自动表单生成工具说明(后端、桌面、web、移动端)
功能描述:使用模型编辑工具编辑模型,每个模型对应数据库一张表,内含多个字段。 从模型生成数据库(现支持sqlite)。 从模型生成golang微服务代码,并自动进行编译。 从模型生成winform dll项目,并可自动编译、拷贝dll到模型工具同目录下、生成模型工具菜单配置文件,重启模型即可看到新的表单菜单,打开对应表单,编辑数据。 从模型生成vue项目,并可自动安装依赖,启动开发测试...原创 2020-02-16 00:08:10 · 2814 阅读 · 2 评论 -
使用Go的sync.ErrGroup类快速并行搜索文件
Go的主要特性之一是其强大的并发性能,如通道和goroutines。但是对于新手来说,goroutines是一个陌生的概念,新手在掌握并发概念过程中,经常遇到挫折。Go团队发布的第一个帮助管理goroutines复杂性的工具是sync.WaitGroup,创建一个WaitGroup,该WaitGroup将阻塞,直到指定数量的goroutines完成执行为止。以下是文档中的一个例子: ...翻译 2019-11-12 12:29:15 · 833 阅读 · 0 评论 -
log4go的使用
1、在github上下载log4go:https://github.com/alecthomas/log4go2、创建log4go.xml配置文件,指定日志输出级别、形式、输出路径:<logging> <filter enabled="true"> <tag>stdout</tag> <type>consol...原创 2019-05-16 09:38:00 · 1379 阅读 · 0 评论 -
golang tcp客户端断开自动恢复实现(附编译为dll,C#调用)
package mainimport ( "bufio" "fmt" "net" "os" "time")func main(){ //开一个goroutine,做连接,并启动接收,如果连接断开,接收报错,则尝试恢复连接 go Link() //来一个goroutine,做心跳,如果不发心跳,拔掉网线不会触发接收异常 go BeatHeart() //在...原创 2019-04-01 17:20:14 · 5005 阅读 · 1 评论 -
win10 64位下go编译dll给C#调用
1、首先下载安装mingw-w64-install.exe,安装的时候根据go的架构选择64位或i686,安装后将mingw下的bin加入到PATH环境变量,打开控制台,输入gcc,查看是否安装成功。2、编写go代码:package mainimport "C"import "fmt"//export PrintByefunc PrintBye(){ fmt.Println...原创 2019-03-23 21:05:10 · 4479 阅读 · 3 评论 -
win10 64位操作系统编译x86的go程序
下载go32位的zip格式的sdk,解压到C盘GoX86目录(C:\Go已经存放了64位的sdk),将环境变量中的GOROOT、GOBIN修改位C:\GoX86和C:\GoX86\bin;启动goland,编译64位的程序,从下方的console区域,考出goland生成的编译命令行,并进行修改,调整目录:C:\GoX86\bin\go.exe build -o E:\GoWorkPath...原创 2019-04-03 20:44:53 · 2769 阅读 · 0 评论 -
go goroutine并发
go语言有非常强大的并发机制,即goroutine。利用匿名函数、通道可以很方便的将同步调用改造成为并发的异步调用。func departTypeQryHandler(writer http.ResponseWriter, request *http.Request) { request.ParseForm() pageIndex := request.Form["pageIndex"]...原创 2019-03-09 11:51:31 · 681 阅读 · 0 评论 -
gorm连接mssql
package Dalimport ( "github.com/jinzhu/gorm" "fmt" _ "github.com/jinzhu/gorm/dialects/mssql" "flag")type GormUtils struct { Database *gorm.DB}func (o *GormUtils) Connect(){ flag.Parse()...原创 2019-02-24 21:07:42 · 3319 阅读 · 2 评论 -
mongodb go封装
mongodb-go-driver驱动的封装:package Dalimport ( "fmt" "github.com/mongodb/mongo-go-driver/mongo" "context" "time" "github.com/mongodb/mongo-go-driver/bson" "github.com/mongodb/mongo-go-driver/mo...原创 2019-02-01 22:02:57 · 3951 阅读 · 2 评论 -
golang连接MongoDB
在github上下载mongo的驱动(地址:github.com/mongodb/mongo-go-driver/mongo),下载后解压放在$GOROOT/src下,目录为:$GOROOT/src/github.com/mongodb/mongo-go-driver。package Dalimport ( "fmt" "github.com/mongodb/mongo-go-dri...原创 2019-01-27 20:59:22 · 4681 阅读 · 0 评论 -
go语言中的try、catch、throw实现
func (o *MsSqlUtils) ExecuteSql(cmd string) (err1 error, affected int64) { defer func() { //必须要先声明defer,否则不能捕获到panic异常 if err2 := recover(); err2 != nil { err1 = fmt.Errorf("internal error: %v"...原创 2018-12-09 13:16:02 · 8892 阅读 · 0 评论