-
单元测试 – 如何测量Golang中的代码覆盖率?
所属栏目:[大数据] 日期:2020-12-16 热度:99
有没有人成功地生成Go单元测试的代码覆盖?我在网上找不到一个工具。 注意 Go 1.2 (Q4 2013,rc1 is available)现在将显示 test coverage results: One major new feature of go test is that it can now compute and,with help from a new,separately insta[详细]
-
golang进阶(五)——restful开发的json处理
所属栏目:[大数据] 日期:2020-12-16 热度:129
前言 restful开发时,对象转json,json转对象是非常频繁的操作,怎么样才能少些重复的代码呢,以这个为目的开启这篇文章 所有代码放在github上 简化数据结构 每次需要返回的数据有code,msg,data这些字段,每个类型都加这些字段太繁复了,这里有interface的方[详细]
-
为什么在Golang中的闭包体后添加“()”?
所属栏目:[大数据] 日期:2020-12-16 热度:144
我正在阅读的Go编程语言规范,发现我自己不真正理解与闭包体后面的“()”: 在函数文字: func(ch chan int) { ch - ACK } (replyChan) ` 在Defer语句的示例中: // f returns 1func f() (result int) { defer func() { result++ }() // why and how? return[详细]
-
希尔排序(Golang)
所属栏目:[大数据] 日期:2020-12-16 热度:188
funcshellSort(unsorted[]int,nint){vari,j,gapintvartempintforgap=n/2;gap0;gap/=2{fori=gap;in;i++{forj=i-gap;j=0unsorted[j]unsorted[j+gap];j-=gap{temp=unsourted[j]unsorted[j]=unsorted[j+gap]unsorted[j+gap]=temp}}}}[详细]
-
简单选择排序(golang)
所属栏目:[大数据] 日期:2020-12-16 热度:163
funcsimpleSelectionSort(unsorted[]int,nint){varkey,tempintfori:=0;in;i++{key=selectMiniKey(unsorted,n,i)ifkey!=i{temp=unsorted[i]unsorted[i]=unsorted[key]unsorted[key]=temp}}}funcselectMiniKey(a[]int,nint,iint)int{k:=iforj:=i+1;jn;j++{ifa[[详细]
-
YouCompleteMe 支持 golang vim 自动补全
所属栏目:[大数据] 日期:2020-12-16 热度:179
进入YouCompleteMe目录并执行: 更新代码 cd ~/.vim/bundle/YouCompleteMegit clean -fgit pullgit submodule update --recursive --init 支持golang: /.vim/bundle/YouCompleteMe$ ../install.sh --clang-completer --go-completer[详细]
-
为什么我全力推荐Golang
所属栏目:[大数据] 日期:2020-12-16 热度:190
转载地址:https://zhuanlan.zhihu.com/p/19959647 如果有侵权行为,请告知立马删除,谢谢! 讨论哪个语言更好,就像在争论姚明和刘翔谁是更优秀的运动员。因为各自的坐标象限不同,常常会陷入一个难有结论怪圈。 所以本文绝不是在说Golang是比其他语言更好[详细]
-
Gin开发01
所属栏目:[大数据] 日期:2020-12-16 热度:97
Gin学习 1 基础环境 首先配置好go环境,设置好GOPATH环境变量。我的为例,输入 go env ,输出如下: C: Users Xin go env set GOARCH = 386 set GOBIN = C: go bin // 必须设置 set GOEXE = . exe set GOHOSTARCH = 386 set GOHOSTOS = windows set[详细]
-
Gin开发02
所属栏目:[大数据] 日期:2020-12-16 热度:61
Gin Web开发02 这章主要解析examples中的Demo。 favicon 解决网站图标问题 package main import ( "github.com/gin-gonic/gin" "github.com/thinkerou/favicon" ) func main() { app := gin.Default() app.Use(favicon.New( "./favicon.ico" )) // 运行目录[详细]
-
Gin开发03
所属栏目:[大数据] 日期:2020-12-16 热度:56
Gin开发-3 这一篇文章开始,着手编写一个 Gin Web System 。内容包含: 后台服务: 1. Markdown文件渲染为Blog,支持标签分类等定义和评论。 2. 在线API服务,提供付费音乐下载视频VIP解析接口。提供Blog管理API。 3. 分享模块。提供软件下载和介绍等。(一[详细]
-
golang进阶(六)——restful开发优雅处理error
所属栏目:[大数据] 日期:2020-12-16 热度:79
前言 golang的error处理一直被人诟病,其实通过设计模式可以很好的处理error,这里就以restful开发为例讲下error优雅的处理 resuful开发中,error处理有两个目的,一可以将错误信息返回给用户,二要方便调试,为了达到优雅还要一点,不要到处都是各种if语言[详细]
-
如何用golang写一个thread pool
所属栏目:[大数据] 日期:2020-12-16 热度:180
我的工作目标 1 创建一个指定大小的工作数据2 实现run接口3 添加任务到池子里面4 开始运行池子 首先定义任务的worker和runner接口 package workpooltype Runner interface { Run( interface { }) ( interface { },error)}type Work struct { Runner Runner A[详细]
-
不扯淡,一个简化后的httptest库
所属栏目:[大数据] 日期:2020-12-16 热度:166
先不提本库,给个用 net/http/httptest 库写通用handler测试的方法(来源): package handlersimport ( "net/http" "net/http/httptest" "testing")func TestHealthCheckHandler(t *testing.T) { // Create a request to pass to our handler. We don't have[详细]
-
golang Leaf 游戏服务器框架简介
所属栏目:[大数据] 日期:2020-12-16 热度:155
Leaf 是一个由 Go 语言(golang)编写的开发效率和执行效率并重的开源游戏服务器框架。Leaf 适用于各类游戏服务器的开发,包括 H5(HTML5)游戏服务器。 Leaf 的关注点: 良好的使用体验。Leaf 总是尽可能的提供简洁和易用的接口,尽可能的提升开发的效率 稳[详细]
-
golang基础-接口、接口嵌套、类型断言、接口与结构体_接口等转换
所属栏目:[大数据] 日期:2020-12-16 热度:96
接口 package mainimport "fmt" type Test interface { Print() Sleep ()}type Student struct { name string age int score int} /*student实现接口Print方法*/ func (p Student) Print() { fmt .Println ( "name:" ,p .name ) fmt .Println ( "age:" ,p .a[详细]
-
golang websocket 入门
所属栏目:[大数据] 日期:2020-12-16 热度:142
我们先写一个最简单的go http服务 package main import ( "net/http" ) func main() { http.HandleFunc( "/" , func (w http.ResponseWriter,r *http.Request) { w.Write([] byte ( "hello world" )) }) http.ListenAndServe( ":9000" , nil )} 上面的太简单[详细]
-
golang基础-反射获取(基础数据、结构体)、操作(基本类型、结
所属栏目:[大数据] 日期:2020-12-16 热度:172
反射获取基本类型 反射:可以在运行时动态获取变量的相关信息 Import (“reflect”) a. reflect.TypeOf,获取变量的类型,返回reflect.Type类型 b. reflect.ValueOf,获取变量的值,返回reflect.Value类型 c. reflect.Value.Kind,获取变量的类别,返回一个[详细]
-
golang sql根据struct字段来生成记录
所属栏目:[大数据] 日期:2020-12-16 热度:170
/*Author : tuxpyEmail : q8886888@qq.com.comCreate time : 2017-11-04 23:13:08Filename : main.goDescription :*/package mainimport ("database/sql""errors""fmt""reflect""time""utils"_ "github.com/mattn/go-sqlite3")func ToStruct(rows *sql.Rows,[详细]
-
终止进程在Golang中以os/exec开头
所属栏目:[大数据] 日期:2020-12-16 热度:66
有没有办法终止一个进程以os.exec开始在Golang?例如(从 http://golang.org/pkg/os/exec/#example_Cmd_Start), cmd := exec.Command("sleep","5")err := cmd.Start()if err != nil { log.Fatal(err)}log.Printf("Waiting for command to finish...")err = c[详细]
-
迭代通过golang地图
所属栏目:[大数据] 日期:2020-12-16 热度:117
我有一个类型的地图:map [string] interface {} 最后,我得到创建的东西像(在反序列化后从yml文件使用goyaml) mymap = map[foo:map[first: 1] boo: map[second: 2]] 如何迭代这个地图?我试过以下: for k,v := range mymap{...} 但我得到一个错误: cannot[详细]
-
如何在Golang字符串中索引字符?
所属栏目:[大数据] 日期:2020-12-16 热度:122
如何获得“E”输出而不是69? package mainimport "fmt"func main() { fmt.Print("HELLO"[1])} Golang是否有将字符转换为字节的功能,反之亦然? 解释的字符串文字是双引号“”之间的字符序列,使用单个字符的UTF-8编码(可能是多字节)。在UTF-8中,ASCII字符[详细]
-
golang基础-终端读(Scanln\bufio)、bufio文件读、、ioutil读
所属栏目:[大数据] 日期:2020-12-16 热度:61
终端读写Scanln、Sscanf package mainimport ( "fmt" )var ( firstName,lastName, s string i int f float32 input = "56.12 / 5212 / Go" format = " %f / %d / %s " )func main() { fmt.Println( "Please enter your full name: " ) fmt.Scanln(firstName,[详细]
-
golang基础-json序列化、反序列化、自定义error
所属栏目:[大数据] 日期:2020-12-16 热度:112
json协议 结构体转json package main import ( "fmt" "encoding/json" ) type User struct { UserName string `json:"username"` NickName string `json:"nickname"` Age int Birthday string Sex string Email string Phone string } /*结构体转json*/ func[详细]
-
golang json和处理未导出的字段
所属栏目:[大数据] 日期:2020-12-16 热度:156
有没有技术原因为什么未导出的字段不包括编码/ json?如果不是,这是一个任意的决定,可以有一个额外的后门选项(说“)包括即使未报告? 要求客户端代码导出以获得此功能感到不幸,特别是如果小写提供封装或决定元帅结构比设计更晚的时候。 人们如何处理这个[详细]
-
golang:slice of struct!=它实现的接口的切片?
所属栏目:[大数据] 日期:2020-12-16 热度:62
免责声明:我是一个Go noob,学习时偷走了。任何建议是赞赏,但只有当伴随代码示例:-) 我有一个接口模型,它由struct Person实现。 要获得模型实例,我有以下助手函数: func newModel(c string) Model { switch c { case "person": return newPerson() } re[详细]
