-
golang 走起(八) 目录结构
所属栏目:[大数据] 日期:2020-12-16 热度:69
golang 走起(八) 目录结构 go项目的目录结构 以下都是文件夹的名字 project | —- src | | —- test1 | | | —- test1ha.go:package test1 | | —- test2 | | | —- test2ha_linux.go:package test2 | | | —- test2ha_windows.go:package test2 | —-[详细]
-
golang 走起(九) linux 下 go语言 vim设置
所属栏目:[大数据] 日期:2020-12-16 热度:105
golang 走起(九) linux 下 go语言 vim设置 在linux下安装 vundle.vim,请参照https://github.com/VundleVim/Vundle.vim获取和配置 打开.vimrc,如果没有可以创建.vimrc,复制如下内容到.vimrc " An example for a vimrc file. " " Maintainer: Bram Moolen[详细]
-
Golang实现http文件上传小功能
所属栏目:[大数据] 日期:2020-12-16 热度:73
package mainimport ("fmt""io""net/http""os")func main() {http.HandleFunc("/",index)http.HandleFunc("/upload",upload)http.ListenAndServe(":1789",nil)}func upload(w http.ResponseWriter,r *http.Request) {r.ParseMultipartForm(32 20)file,handle[详细]
-
使用Thrift0.9.1实现跨语言调用Golang、Php、Python、Java
所属栏目:[大数据] 日期:2020-12-16 热度:141
http://www.aboutyun.com/thread-8916-1-1.html 一、什么是Thrift Thrift是一种可伸缩的跨语言服务的发展软件框架。它结合了功能强大的软件堆栈的代码生成引擎,以建设服务。 Thrift是facebook开发的,07年4月开放源代码,08年5月进入apache孵化器。创造Thri[详细]
-
用Golang写一个搜索引擎(0x05)--- 文本相关性排序
所属栏目:[大数据] 日期:2020-12-16 热度:50
上面我们已经说过了一些倒排索引的东西,并且也知道了如何来实现一个倒排索引完成检索功能,那么检索完了以后如何排序呢,这一篇简单的说一下倒排索引的文本相关性排序,因为排序实在是太复杂了,我们这里就说说文本的相关性排序,而且是最简单的TD-IDF排序[详细]
-
[转]Golang中goroutine的调度器详解
所属栏目:[大数据] 日期:2020-12-16 热度:196
Go调度器原理浅析 来源:https://www.douban.com/note/300631999/ goroutine是golang的一大特色,或者可以说是最大的特色吧(据我了解),这篇文章主要翻译自Morsing的[这篇博客]( http://morsmachine.dk/go-scheduler ),我读这篇文章的时候不只是赞叹调度[详细]
-
用Golang写一个搜索引擎(0x06)--- 索引构建
所属栏目:[大数据] 日期:2020-12-16 热度:53
不知不觉写到第七篇了,按这个节奏,估计得写到15到20篇左右才能写完,希望自己能坚持下去,之前写代码的时候很多东西并没有想得那么细致,现在每写一篇文章还要查一些资料,确保文章的准确性,也相当于自己复习了一下吧,呵呵。 先说一下,关于倒排文件,其[详细]
-
Golang - Mysql ang Http Basic fucntions
所属栏目:[大数据] 日期:2020-12-16 热度:72
今天总结了一些Golang的基本用法,作为记录在此! package mainimport ("database/sql""fmt""io/ioutil""log"_ "mysql-master/mysql-master""net/http""strings")func httpGet(url string) {resp,err := http.Get(url)if err != nil {// handle error}defer[详细]
-
为什么 2010 年前后诞生的语言(如 Golang, Rust, Swift)都是直接
所属栏目:[大数据] 日期:2020-12-16 热度:56
为什么 2010 年前后诞生的语言(如 Golang,Rust,Swift)都是直接编译成机器码? 之所以问这个问题是因为知乎上有问题“为什么 2010 年前后诞生的语言(如 Golang,Swift)都是强类型 + 静态?”,其中大多数答案都是在说动态语言存在的问题 那么按照这个逻辑,这三[详细]
-
golang入门-- import包与包内init方法的执行时机
所属栏目:[大数据] 日期:2020-12-16 热度:115
最近在学习revel(golang web开发框架),了解到revel管理和加载所有controller的方式。其中涉及的golang基础知识是import包。下面我们先来看看golang imort包的几种方法和特征: 第一种方式相对路径 import "./module" //当前文件同一目录的module目录, 此方[详细]
-
golang入门--struct Tag的语法
所属栏目:[大数据] 日期:2020-12-16 热度:71
今天想用xorm连接数据库做一个项目,发现xorm的结构体和数据库表的映射关系的建立是通过struct Tag来实现的。所以有必要了解下Tag的语法和作用。 看代码秒懂: 1 package main 2 import ( 3 "fmt" 4 "reflect" // 这里引入reflect模块 5 ) 6 type User struc[详细]
-
Golang把所有包括底层类库,输出到stderr的内容, 重新定向到一
所属栏目:[大数据] 日期:2020-12-16 热度:68
下面代码转载自:http://studygolang.com/articles/2343 不论应用是如何部署的,我们都期望能扑捉到应用的错误日志, 解决思路: 自己写代码处理异常拦截,甚至直接在main函数中写异常拦截。 stderr重定向到某个文件里 使用 syscall.Dup2 第一种方法比较简单[详细]
-
golang交叉编译
所属栏目:[大数据] 日期:2020-12-16 热度:129
GOROOT_BOOTSTRAP=/usr/local/go CGO_ENABLED=0 GOOS=linux GOARCH=386 ./make.bash --no-clean GOOS = linux,darwin,freebsd,windows GOARCH = amd64,386 CGO_ENABLED=1,0 GOROOT_BOOTSTRAP=/usr/local/go[详细]
-
用Golang写一个搜索引擎(0x07)--- 正排索引
所属栏目:[大数据] 日期:2020-12-16 热度:81
最近各种技术盛会太多,朋友圈各种刷屏,有厂商发的各种广告,有讲师发的各种自拍,各种参会的朋友们各种自拍,好不热闹,不知道你的朋友圈是不是也是这样啊,去年还没这么多技术会议,今年感觉爆发了,呵呵,真是一个互联网技术的好时代,而且还有各种撕B可[详细]
-
Go语言为什么这么流行?
所属栏目:[大数据] 日期:2020-12-16 热度:64
这个问题很复杂,多方面原因决定了Golang的实用价值。 Go语言的背景 Go的吉祥物Gordon田鼠,是由Google公司创造一种新程序语言,并且公司为这门语言付出了极大的努力。Go语言一出现就获得业界的普遍关注和使用。为什么呢? Go具有一些多数程序语言没有的资产[详细]
-
Golang Basic - select and channel usage
所属栏目:[大数据] 日期:2020-12-16 热度:137
今天学习了一下Golang 的 tag,select 和 channel ,记录在此! 1.tag 的作用 package mainimport ("encoding/json""fmt""reflect")type Accout struct {UserId int `json:"user_id" bson:"user_id"`UserName string `json:"user_name" bson:"user_name"`Pass[详细]
-
Go1.7将支持二进制包分发
所属栏目:[大数据] 日期:2020-12-16 热度:191
Go1.7将支持二进制包分发 不出意外的话,Go1.7将在8月份发布。Go1.7最大的变化是引入SSA优化技术,号称有 -10% 到 30~40?% 的性能提升。 对于Windows用户,还有一个迟来的特性:就是生成C静态库(补充: Go1.7已经可生成静态库),然后可以用gcc工具将这个C静态[详细]
-
Golang的TLS通信,证书文件使用.
所属栏目:[大数据] 日期:2020-12-16 热度:166
package mainimport ("crypto/rand""crypto/rsa""crypto/x509""crypto/x509/pkix""encoding/pem""io/ioutil""math/big""os""time")func main() {info := CertInformation{Country: []string{"中国"},Organization: []string{"游戏蜗牛"},OrganizationalUnit:[详细]
-
介绍 GDB 调试 Go
所属栏目:[大数据] 日期:2020-12-16 热度:123
在过去的 4 年中,我花了我绝大部分的时间用来写,读以及调试 Python 或 JavaScript 代码。在学习 Go 的过程中,像穿着一双有小石子的鞋子在美丽的山中远行。很多事情给我留下了深刻的印象,但是使用 println 调试我的代码在过去走的太远了。在 Python 中,[详细]
-
用Golang写一个搜索引擎(0xFF)--- 搜索引擎排序
所属栏目:[大数据] 日期:2020-12-16 热度:188
今天这一篇的序号是0xFF,算是外篇吧,和Golang没什么关系,和代码也没什么关系,今天说说搜索引擎的排序吧。 一个标准的搜索引擎有三个最重要的部分, 爬虫,检索,排序 。 爬虫水太深了,各种黑科技层出不穷,光代理的选择就有各种黑科技,而且只有百度这[详细]
-
Golang httptls 通信,带证书请求小实例
所属栏目:[大数据] 日期:2020-12-16 热度:146
package wgetimport ("crypto/tls""crypto/x509""io""net/http""os")func client(rootCa,rootKey string) *http.Client {var tr *http.Transportcerts,err := tls.LoadX509KeyPair(rootCa,rootKey)if err != nil {tr = http.Transport{TLSClientConfig: tls.[详细]
-
golang -- mgo解析各种数据类型分析
所属栏目:[大数据] 日期:2020-12-16 热度:159
package mainimport ( "gopkg.in/mgo.v2" "log" "reflect")func main() { session,err := mgo.Dial("usr:pwd@127.0.0.1:27017/dbname") if err != nil { log.Fatal("无法打开MongoDB!") return } defer session.Close() clt := session.DB("mydb").C("useri[详细]
-
golang注记
所属栏目:[大数据] 日期:2020-12-16 热度:61
map不是线程安全的,对其进行并发访问时需要加锁。 struct的匿名成员所有成员变量和函数都被外围struct获得,如下代码所示,C获得了Mutex和D的成员: type C struct { sync.Mutex m int D} type D struct { tt int } func main() { counter := C{m: 5 } coun[详细]
-
树莓派 - golang
所属栏目:[大数据] 日期:2020-12-16 热度:144
Install golang1.6 on raspberry pi 3 背景 树莓派是的包管理器里面是没有golang1.6的,最新的是1.3,但是很多的软件的需求是1.4以上,so 自己在官网下载golang1.6的源代码来编译吧 准备 软件包 golang源码 bootstrap 步骤 切换到root账户 cd /usr/local/binsu[详细]
-
golang并行执行命令行脚本的程序
所属栏目:[大数据] 日期:2020-12-16 热度:101
写脚本的时候一直很羡慕golang的并行处理能力, 突发奇想,我们在做一些系统级的脚本程序的时候,其实可以直接 通过golang去执行系统上的可执行程序,然后利用CPU的多核能力,说干就干,下面就是代码范例 packagemainimport("fmt""os/exec""runtime""time")v[详细]
