-
Golang、python多线程非常典型例子,对照两门语言计算速度.
所属栏目:[大数据] 日期:2020-12-16 热度:65
比如我们 从1加到100,我们小时候就知道 101*50=5050,这是利用了算法,但是我们这里没有讨论算法,只是验证计算机的计算能力,在GO语言中,我们这样设计遍历。 func main() { ts := time.Now().UnixNano() h := 1000000000 sum := 0 for i := 0; i = h; i++[详细]
-
Go 标准库介绍四: path
所属栏目:[大数据] 日期:2020-12-16 热度:193
原文链接 http://ironxu.com/766 本文介绍Go 标准库: path,filepath 常用导出函数,结构体及方法 1. path 包 import "path" path实现了对斜杠分隔的路径进行操作的函数。 func IsAbs(path string) bool // 判断是否是一个绝对路径 func Split(path string) ([详细]
-
使用 Elastic Stack 来监控和调优 Golang 应用程序
所属栏目:[大数据] 日期:2020-12-16 热度:152
原文:http://studygolang.com/wr?u=http%3a%2f%2felasticsearch.cn%2farticle%2f138 Golang 因为其语法简单,上手快且方便部署正被越来越多的开发者所青睐,一个 Golang 程序开发好了之后,势必要关心其运行情况,今天在这里就给大家介绍一下如果使用 Elast[详细]
-
Go 标准库介绍三: os
所属栏目:[大数据] 日期:2020-12-16 热度:184
原文链接 http://ironxu.com/751 介绍Go 标准库 os 常用导出函数,结构体及其方法。 import os os 包提供了不依赖平台的操作系统函数接口。错误处理设计为go 风格,失败的调用会返回错误值而非错误码。通常错误值里包含更多信息。 1. os 常用导出函数 func H[详细]
-
理解Golang包导入
所属栏目:[大数据] 日期:2020-12-16 热度:197
参考文章:http://www.cnblogs.com/sevenyuan/p/4548748.html Golang 使用包(package)这种语法元素来组织源码,所有语法可见性均定义在package这个级别,与Java 、python等语言相比,这算不上什么创新,但与C传统的include相比,则是显得“先进”了许多。[详细]
-
golang发邮件
所属栏目:[大数据] 日期:2020-12-16 热度:193
由于go默认tls.Config{ServerName: host, InsecureSkipVerify : false }, func TestHtmlEmail(t *testing.T) {opt := EmailOptions{User: "",Password: "",To: []string{""},From: "",Addr: "smtp.xxx.com:25",}auth := NewLoginAuth(opt.User,opt.Password[详细]
-
Go 标准库介绍二: time
所属栏目:[大数据] 日期:2020-12-16 热度:69
原文链接 http://ironxu.com/747 介绍Go 标准库 time 常用导出函数,结构体及其方法。 import "time" time包提供显示和计算时间用的函数。 1. 时间处理类型 Go 中时间处理依赖的数据类型: time.Time , time.Month , time.Weekday , time.Duration , time.Loc[详细]
-
golang redis 队列删除图片
所属栏目:[大数据] 日期:2020-12-16 热度:156
之前几篇完成了缩图功能,今天在常帅的指导下,完成了golang操作队列删除图片功能,之前打算用lua-resty-redis弄,尼玛,不懂怎么触发,SB了。然后常帅说用Golang,好吧.就有了下面的代码。 package mainimport ("fmt""time""gopkg.in/redis.v5""strings""os""[详细]
-
golang redis 队列删除图片
所属栏目:[大数据] 日期:2020-12-16 热度:61
之前几篇完成了缩图功能,今天在常帅的指导下,完成了golang操作队列删除图片功能,之前打算用lua-resty-redis弄,尼玛,不懂怎么触发,SB了。然后常帅说用Golang,好吧.就有了下面的代码。 package mainimport ("fmt""time""gopkg.in/redis.v5""strings""os""[详细]
-
golang cache 源码学习
所属栏目:[大数据] 日期:2020-12-16 热度:162
github源码地址 func newCacheWithJanitor(de time.Duration,ci time.Duration,m map [ string ]*Item) *Cache { c := newCache(de,m) // This trick ensures that the janitor goroutine (which--granted it // was enabled--is running DeleteExpired on c[详细]
-
Go 之旅五: 并发
所属栏目:[大数据] 日期:2020-12-16 热度:200
原文链接 http://ironxu.com/713 本文是学习 A Tour of Go (中文参考 Go 之旅中文 ) 整理的笔记。介绍Go 语言线程,信道以及互斥锁的概念和使用方法。 1. Go 线程 $GOPATH/src/go_note/gotour/concurrency/goroutine/goroutine.go 源码如下 /** * go 语言线[详细]
-
GOLANG BEEGO ORM
所属栏目:[大数据] 日期:2020-12-16 热度:121
GOLANG BEEGO ORM 每种语言一旦开始步入生产环节都不可避免对数据库操作,ORM 为业务逻辑与底层数据库操作建立起一座桥梁,使得业务对象能直接映射到数据库对象上,减少了数据库的误操作,同时也使得业务代码更加清晰。语言一旦开始成熟,都会有相应的 ORM[详细]
-
【开源】golang高性能分布式游戏服务器框架-mqant
所属栏目:[大数据] 日期:2020-12-16 热度:158
2016年底的时候对即时通讯以及游戏开发产生了一些兴趣,而且自己这方面的知识掌握也非常少,在未来很多产品应该都会使用到长连接技术(物联网IOT),因此很有必要掌握这方面的技术。于是就在网络上查询相关的资料,但发现目前网络上的开源游戏服务器框架相对较少,[详细]
-
golang配置文件热更新
所属栏目:[大数据] 日期:2020-12-16 热度:91
配置文件热更新是服务器程序的一个基本功能,通过热更新可以不停机调整程序的配置,特别是在生产环境可以提供极大的便利,比如发现log打得太多了可以动态调高日志等级,业务逻辑参数变化,甚至某个功能模块的开关等都可以动态调整。 每种语言都有自己的热更[详细]
-
Golang memory model
所属栏目:[大数据] 日期:2020-12-16 热度:59
Introduction The Go memory model specifies the conditions under which reads of a variable in one goroutine can be guaranteed to observe values produced by writes to the same variable in a different goroutine. Happens Before Within a single[详细]
-
golang二进制协议接口映射
所属栏目:[大数据] 日期:2020-12-16 热度:168
在写服务器程序时,特别是业务向的服务(比如游戏服务器),经常会遇到处理许多客户端协议的情况,如果是http服务,那么定义好处理接口,剩下的交给web服务器就可以了。但是二进制协议就没有这么方便了。 通常的自定义二进制协议规则都是固定长度消息头+变长[详细]
-
使用vendor管理Golang项目依赖
所属栏目:[大数据] 日期:2020-12-16 热度:193
The Vendor Tool for Go go get -u github.com/kardianos/govendor New users please read theFAQ Package developers should read thedeveloper guide. For a high level overview read thewhitepaper Uses the go1.5+ vendor folder. Multiple workflows s[详细]
-
关于golang中IO相关的Buffer类浅析
所属栏目:[大数据] 日期:2020-12-16 热度:146
io重要的接口 在介绍buffer之前,先来认识两个重要的接口,如下边所示: type Reader interface { Read(p [] byte ) (n int ,err error)} type Writer interface { Write(p [] byte ) (n int ,err error)} 上边两个接口在golang sdk安装目录src/io/io.go中定[详细]
-
golang文件操作
所属栏目:[大数据] 日期:2020-12-16 热度:83
go 文件的相关操作函数在 os 包下,可以查看os包官方文档来学习。 创建文件并写入内容 创建文件和写入需要用到两个函数: func Create(name string) (*File,error) func (f *File) Write(b []byte) (n int,err error) 具体的代码如下: package mainimport ([详细]
-
Golang爬虫 爬取汽车之家 二手车产品库
所属栏目:[大数据] 日期:2020-12-16 热度:104
爬取汽车之家 二手车产品库 项目地址:https://github.com/go-crawler... 目标 最近经常有人在耳边提起汽车之家,也好奇二手车在国内的价格是怎么样的,因此本次的目标站点是 汽车之家 的二手车产品库 分析目标源: 一页共24条 含分页,但这个老产品库,在10[详细]
-
小鸦 - golang 函数多参返回 (良好体验)
所属栏目:[大数据] 日期:2020-12-16 热度:82
Go 的表示方式 func getRequest(conn net.Conn) //函数 (rawaddr [] byte ,host string ,err error) //返回的参数 {} Java 解决方案 传统上,Java解决方案是用Map. 使用Map的缺点 返回 参数个数 不确定 返回 参数类型 不确定 返回 参数名字 是字符串形式存在,[详细]
-
golang 中对json数据读写
所属栏目:[大数据] 日期:2020-12-16 热度:72
编程中,我们很常会把数据以json格式保存在文件中或者读取json文件,golang有内置对json数据的处理包 encoding/json // file name: test.go package main import ( "encoding/json" "fmt" "log" "os" ) type User struct { Name string Age int8 } func test[详细]
-
【golang基础】socks编程相关的知识点
所属栏目:[大数据] 日期:2020-12-16 热度:122
最近尝试自己用go实现了ss,涉及到socks相关api,这里总结一下socks编程中需要注意的知识点。 socks五元组:src_ip源ip src_port源端口 dst_ip目标ip dst_port目标端口 protocol传输协议(tcp/udp),这五个中任意一个不同就属于不同的socks,不会冲突 从上一[详细]
-
golang程序版本管理
所属栏目:[大数据] 日期:2020-12-16 热度:81
概述 版本管理主要用于对运行程序的版本追踪,从而可以管理线上服务的运行版本,避免各个版本的服务程序混淆.这里通常的做法为在程序中埋入版本标志,同时该版本号会对应到git上的tag或release版本.从而对线上服务更改有一个更全面的信息说明.这里将介绍基于GNU[详细]
-
golang 下划线(underscore)的意义
所属栏目:[大数据] 日期:2020-12-16 热度:184
_ (下划线),可以简单理解为赋值但以后不再使用,在golang中使用比较多,使用场合不单一,这里稍作总结,方便理解 用在import import _ "net/http/pprof" pprof常见用法。引入包,会先调用包中的初始化函数,这种使用方式仅让导入的包做初始化,而不使用包中[详细]
