-
简便的golang orm
所属栏目:[大数据] 日期:2020-12-16 热度:120
一个新颖简便的golang orm . 容易比较容易上手。 from: http://studygolang.com/articles/2148 About 一个数据库ORM. How to use? Insert go get github.com/ablegao/orm 例子 //引用模块import "github.com/ablegao/orm"//mysql 驱动import _ "github.[详细]
-
interface
所属栏目:[大数据] 日期:2020-12-16 热度:118
interface是什么 interface被称为接口,是一种类型,其本质是一组 抽象方法的集合 。凡是实现这些抽象方法的对象,都可以被称为“实现了这个接口”。其存在意义是为了规定对象的一组行为。 interface举例 package mainimport ( "fmt")type Singer interface[详细]
-
golang vscode工具初始化
所属栏目:[大数据] 日期:2020-12-16 热度:155
go get -u github.com/derekparker/delve/cmd/dlvgo get -u github.com/rogpeppe/godefgo get -u github.com/golang/lint/golintgo get -u github.com/lukehoban/go-find-referencesgo get -u github.com/nsf/gocodego get -u github.com/lukehoban/go-outli[详细]
-
Go语言 golang 语法详解笔记
所属栏目:[大数据] 日期:2020-12-16 热度:121
Google Go语言 golang 语法详解笔记 Author :cxy Date :2015-06-26 Version :1.0 Source :Fork me on GitHub Blog :yougg.github.io/static/gonote/gogrammar Description :学习Go语言过程中记录下来的语法详解笔记,可以帮助新接触的朋友快速熟悉理解[详细]
-
区分“并发”与“并行”的概念
所属栏目:[大数据] 日期:2020-12-16 热度:96
并发与并行这两个概念是令人困惑的,但在go语言的编程中是必须要理解的。 并发(concurrent) 并发是指两种或两种以上的行为在系统中 同时存在 ,至于这两个行为是否在某一时刻同时“执行”,在并发的概念中并不考虑。 在go语言中,go语句可以开启一个新的goro[详细]
-
GOLANG中time.After释放的问题
所属栏目:[大数据] 日期:2020-12-16 热度:51
原文:https://gocn.io/article/403 在谢大群里看到有同学在讨论 time.After 泄漏的问题,就算时间到了也不会释放,瞬间就惊呆了,忍不住做了试验,结果发现应该没有这么的恐怖的,是有泄漏的风险不过不算是泄漏,先看API的说明: // After waits for the du[详细]
-
golang中的websocket实现
所属栏目:[大数据] 日期:2020-12-16 热度:77
websocket分为握手和数据传输阶段,即进行了HTTP握手 + 双工的TCP连接 RFC协议文档在:http://tools.ietf.org/html/rfc6455 握手阶段 握手阶段就是普通的HTTP 客户端发送消息: GET /chat HTTP/1.1 Host: server.example.com Upgrade: websocket Connection:[详细]
-
goroutine背后的系统知识
所属栏目:[大数据] 日期:2020-12-16 热度:95
Go语言从诞生到普及已经三年了,先行者大都是Web开发的背景,也有了一些普及型的书籍,可系统开发背景的人在学习这些书籍的时候,总有语焉不详的感觉,网上也有若干流传甚广的文章,可其中或多或少总有些与事实不符的技术描述。希望这篇文章能为比较缺少系统[详细]
-
go import下划线的作用
所属栏目:[大数据] 日期:2020-12-16 热度:166
在Golang里,import的作用是导入其他package,但是今天在看bbllive流媒体服务器有如下写法: import ( “bbllive/rtmp” “flag” “log” “net/http” _ “net/http/pprof” “runtime” ),对import 下划线不解,于是找了网络如下解释: import 下划线([详细]
-
go中的main函数和init函数
所属栏目:[大数据] 日期:2020-12-16 热度:137
Go里面有两个保留的函数:init函数(能够应用于所有的package)和main函数(只能应用于package main)。这两个函数在定义时不能有任何的参数和返回值。虽然一个package里面可以写任意多个init函数,但这无论是对于可读性还是以后的可维护性来说,我们都强烈[详细]
-
golang channel 学习
所属栏目:[大数据] 日期:2020-12-16 热度:111
Go Channel 1. 概述 “网络,并发”是Go语言的两大feature。Go语言号称“互联网的C语言”,与使用传统的C语言相比,写一个Server所使用的代码更少,也更简单。写一个Server除了网络,另外就是并发,相对python等其它语言,Go对并发支持使得它有更好的性能。[详细]
-
golang new与make
所属栏目:[大数据] 日期:2020-12-16 热度:181
Go语言中的内建函数new和make是两个用于内存分配的原语(allocation primitives)。对于初学者,这两者的区别也挺容易让人迷糊的。简单的说,new只分配内存,make用于slice,map,和channel的初始化。 1. new 这是一个用来分配内存的内建函数,但是与C++不一[详细]
-
golang 数组(array)与切片(slice)
所属栏目:[大数据] 日期:2020-12-16 热度:184
数据(array)与切片(slice) 数组声明: ArrayType = "[" ArrayLength "]" ElementType . 例如: var a [32] intvar b [ 3 ][ 5 ] int 在Go和C中,数组的工作方式有几个重要的差别。在Go中, (1)数组是值类型。将一个数组赋值给另一个,会拷贝所有的元素[详细]
-
golang协程 通道channel阻塞
所属栏目:[大数据] 日期:2020-12-16 热度:138
说到channel,就一定要说一说线程了。任何实际项目,无论大小,并发是必然存在的。并发的存在,就涉及到线程通信。在当下的开发语言中,线程通讯主要有两种,共享内存与消息传递。共享内存一定都很熟悉,通过共同操作同一对象,实现线程间通讯。消息传递即通[详细]
-
新手学xingo golang服务器之-修改xingo 支持字符协议(一)
所属栏目:[大数据] 日期:2020-12-16 热度:142
新手学xingo golang服务器之-修改xingo 支持字符协议 git diff 查看我的修改: --- a/fnet/datapack. go +++ b/fnet/datapack. go @@ -11 ,7 +11 ,7 @@ import ( type PkgData struct { Len uint32 - MsgId uint32 + MsgId string Data [] byte }diff --git[详细]
-
golang win7环境搭建
所属栏目:[大数据] 日期:2020-12-16 热度:192
下载ide https://www.jetbrains.com/go/download/#section=windows 下载sdk https://golang.org/dl/ ide设置goroot 安装目录 发现ide 不能生成执行文件,虽然日志打印正常 GOROOT=D:/go-sdkGOPATH=E:/Hello_golangD:/go-sdk bin go .exe build -o E: Hell[详细]
-
golang 基础语法
所属栏目:[大数据] 日期:2020-12-16 热度:154
基础类型 布尔型 bool 整形 int8 , byte , int16 , int , uint , uintptr 浮点类型: float32 (c中的float ), float64 ( c中的double ) 复数类型: complex64 , complex128 ( go 中特有的) 字符串: string (内置类型) 字符类型: rune (Unicode字符类型), byt[详细]
-
golang常用代码块
所属栏目:[大数据] 日期:2020-12-16 热度:73
1.打印 fmt .Println ( "asd" ) 2.字符串与int互转 strconv .Itoa ( 1 ) 转字符串strconv .Atoi ( "1" )转int 3.格式化日期 time .Now () .Format ( "20060102150405" ) 4.睡眠 time .Sleep( time .Duration(waitTime)* time . Second ) 5.随机数 "math/rand[详细]
-
golang web框架总结
所属栏目:[大数据] 日期:2020-12-16 热度:148
我目前在用的是revel,感觉跟Django很像,功能齐全,配置方便 其他的有gin,echo,beego,gorilla 听说高效,文档齐全 还有martini等,也有特点,但是有缺陷, 有机会的时候可以多了解[详细]
-
Golang interface{} 作为函数参数和函数返回值例子
所属栏目:[大数据] 日期:2020-12-16 热度:53
package main import ( "errors" "fmt" ) type item struct { Name string } func (i item) String() string { return fmt.Sprintf( "item name:%v" ,i.Name)} type person struct { Name string Sex string } func (p person) String() string { return fmt[详细]
-
golang 线程与通道
所属栏目:[大数据] 日期:2020-12-16 热度:164
首先我们来看线程,在golang里面也叫goroutine 在读这篇文章之前,我们需要了解一下并发与并行。golang的线程是一种并发机制,而不是并行。它们之间的区别大家可以上网搜一下,网上有很多的介绍。 下面我们先来看一个例子吧 import( "fmt" ) funcmain(){ go f[详细]
-
golang uint8、int8与byte的区别
所属栏目:[大数据] 日期:2020-12-16 热度:129
简单说明 uint8与byte可以说是一样的,因为文档中有这样的定义: The Go Programming Language SpecificationNumeric typesuint8 the set of all unsigned 8-bit integers (0 to 255)byte alias for uint8 也就是说,我们在需要将这两种类型转换为string的时[详细]
-
我如何读取一个整个文件到一个字符串变量在Golang?
所属栏目:[大数据] 日期:2020-12-16 热度:176
我有很多小文件,我不想逐行阅读。 在Golang有一个函数,让我读一个整个文件到一个字符串变量? 使用 ioutil.ReadFile: func ReadFile(filename string) ([]byte,error) ReadFile reads the file named by filename and returns the contents. A successful[详细]
-
golang中的sync.WaitGroup
所属栏目:[大数据] 日期:2020-12-16 热度:104
golang中的sync.WaitGroup Posted on 2015/04/09刚才看golang的sync的包,看见一个很有用的功能。就是WaitGroup。 先说说WaitGroup的用途:它能够一直等到所有的goroutine执行完成,并且阻塞主线程的执行,直到所有的goroutine执行完成。 这里要注意一下,他[详细]
-
golang program exceeds 10000-thread limit
所属栏目:[大数据] 日期:2020-12-16 热度:92
Go程序出现panic runtime: program exceeds 10000 -thread limitfatal error: thread exhaustion ... goroutine 1120575 [runnable]:syscall.Syscall( 0x1 , 0x3 , 0xc4600fe000 , 0x96 , 0x0 ) /usr/local/go/src/syscall/asm_linux_amd64.s: 18 + 0x5 sysc[详细]
