Go语言中文网 为您找到相关结果 32

Go语言_时间篇

Go的time包是标准库中的包之一 不用说,几乎是开发必须用到的包之一。time包的说明文档在: http://golang.org/pkg/time/ 先注意下Overview中的一句话: The calendrical calculations always assume a Gregorian calendar. 这个包的时间计算式是基于格里历,就是我们使用的公历。关于格里历的历史,可以看百度百科: http://baike.baidu.com/view/391054.htm 看看godoc文档,最大的数据类型就是Time了,这个Time类型最微小可以表示到nanosecond(微毫秒,十亿份之一秒)。 Time的比较是使用Before,After和Equal方法。看一眼After: ...阅读全文

【GOLANG】Go语言学习-time包

go语言的time包 组成 time.Duration(时长,耗时)time.Time(时间点)time.C(放时间点的管道)[ Time.C:=make(chan time.Time) ] time包里有2个东西,一个是时间点,另一个是时长 时间点的意思就是“某一刻”,比如 2000年1月1日1点1分1秒 那一刻(后台记录的是unix时间,从1970年开始计算) 时长就是某一刻与另一刻的差,也就是耗时 函数 Sleep函数 time.Sleep(time.Duration) 表示睡多少时间,睡觉时,是阻塞状态 fmt.Println("start sleeping...") time.Sleep(time.Second) fmt.Println("end sleep.") //【结果】打印...阅读全文

博文 2015-06-17 23:01:37 zhonglinzhang

golang gbk转utf8

package ms2mysql import ( "bytes" "golang.org/x/text/encoding/simplifiedchinese" "golang.org/x/text/transform" "io/ioutil" ) func Decode(s []byte) ([]byte, error) { I := bytes.NewReader(s) O := transform.NewReader(I, simplifiedchinese.GBK.NewDecoder()) d, e := ioutil.ReadAll(O) if e != nil { return nil, e } return d, nil } win7 64位下试了好几个其他方式,结果都不行,...阅读全文

博文 2016-04-22 00:00:02 benlightning

一个不可思议的问题,大婶们进来看看

``` // 取redigo 连接 conn := models.Redis(setting.Conf.TimelineRedis).Get() defer conn.Close() for i, _ := range times { // redis key key := getTimelineKeyByCode(code, times[i]) // 接参数发送命令 err := conn.Send("HMGET", getTimelineArgs(key)...) if err != nil { return nil, err } } err := conn.Flush() if err != nil { ...阅读全文

PostgreSQL 管理系统 pgweb

pgweb 是一个采用 Go 语言开发的基于 Web 的 PostgreSQL 管理系统。 主要特性: * 可连接到本地和远程服务器 * 浏览表格和表格数据 * 读取表格详情,包括结构、大小、索引和行数 * 执行 SQL 查询和运行分析 * 导出查询结果到 CSV * 查看查询历史记录 支持 PostgreSQL 9.1-9.3,服务器启动参数:

Usage:
  pgweb [OPTIONS]

Application Options:
  -v, --version  Print version
  -d, --debug    Enable debug...阅读全文

开源项目 2014-10-27 16:00:00 sosedoff

关于golang 文件映射的API

var mapper = &mmapper{ active: make(map[*byte][]byte), mmap: mmap, munmap: munmap, } func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { return mapper.Mmap(fd, offset, length, prot, flags) } func Munmap(b []byte) (err error) { return mapper.Munmap(b) } 在文件syscall_linux.go中 记录以...阅读全文

博文 2015-11-26 02:00:23 u011363248

window.history.go()方法

history是你浏览过的网页的url(简单的说就是网址)的集合,也就是你的浏览器里的那个历史记录。它在js里是一个内置对象,就跟document一样,它有自己的方法,go就是其中一个。 这个方法的参数是一个数字,它指定要定位的url相对当前页面url位置的下标。当前的url下标为0,所以window.history.go(-1)就是要定位到相对当前页面下标为-1的页面,也就是之前刚刚访问的页面。 再举个例子: 你在地址栏访问百度页面(http://www.baidu.com),这时history里就把这个地址加到了它的集合里,并且将下标定为0. 通过搜索,你访问了新浪的页面(http://www.sina.cn),浏览器又将这个网址放在了history里,并将这个网址的下标定为0,而之前访...阅读全文

博文 2016-09-12 09:00:04 u012028371

golang esl api

通过ESL 调取FS的状态,比如show calls : 用golang eventsocket 实现 conn, err := eventsocket.Dial("192.168.5.32:8021","ClueCon") if err != nil { this.emitError(so, 413) return "" } ev, _ := conn.Send(fmt.Sprintf("api show calls")) calls := strings.Split(ev.Body, "\n") for i := 1; i < len(calls)-3; i++ { //处理每一条记录 ...阅读全文

博文 2016-01-12 03:00:00 logo-fox

golang 学习记录

package main /* #include #include struct CType { int Id; int Id2; }; typedef struct CType TheCType; TheCType *getTheArray(int length){ TheCType *ctype; ctype = malloc(length*sizeof(TheCType)); return ctype; } void Free(TheCType *ctype){ free(ctype); } */ import "C" import ( //"fmt" "reflect" //"time" "unsafe" ) var theGoSlice [...阅读全文

博文 2014-10-04 19:27:30 984195889

隐私优先的 DNS 解决方案Tenta DNS

Tenta DNS 是一个隐私优先的 DNS 解决方案,它提供一个 DNS 服务器套件,其中包含权威 DNS 服务器,递归 DNS 服务器,以及 NSnitch,实现更安全,更可靠的上网体验。NSnitch 提供的是一个能够记录针对它的请求的 IP 地址,然后通过 JSON API 使该 IP 可用的 DNS 服务器。 Tenta DNS 还提供对 Tor Node membership、DNS 黑名单状态和地理数据的查询。 此外,Tenta DNS 内置 BGP 集成,为 DNS 任播提供单引擎便利。  通过切换到 Tenta DNS,你可以: **阻止 ISP 监视浏览器历史记录。**DNS-over-TLS 在你的 DNS 请求上添加了一层加密,让你的 ISP 无法查看...阅读全文

App开发者:一个你从未体验过的自动化测试平台

“测试”在移动互联网界应该是耳熟能详的词汇了,目前几乎所有开发者在进行研发的过程中都要进行应用的测试,常用的使用模式大致有三类: 完全黑盒、基于脚本、基于录制回放 但使用过的朋友应该知道这三类模式都存在很难解决的缺陷,那么同作为开发的笔者,也是尝试、更换了无数的测试平台与工具,最终对自己的工作效率或者效果提升都不明显,而接下来,笔者将向大家推荐一款最近正在试用的一个自动化测试平台,目前来说效果还不错,经过笔者的研究和梳理总结,整理出了这个平台的构架与理念,希望各位做开发、测试的朋友能够有机会来尝试一番。 逻辑架构 ![图片 1.png](http://studygolang.qiniudn.com/170214/79ee116e9126cdad8e5a8ebe00...阅读全文

Go语言学习-time包

go语言的time包 组成 time.Duration(时长,耗时) time.Time(时间点) time.C(放时间点的管道)[ Time.C:=make(chan time.Time) ] time包里有2个东西,一个是时间点,另一个是时长 时间点的意思就是“某一刻”,比如 2000年1月1日1点1分1秒 那一刻(后台记录的是unix时间,从1970年开始计算) 时长就是某一刻与另一刻的差,也就是耗时 函数 Sleep函数 time.Sleep(time.Duration) 表示睡多少时间,睡觉时,是阻塞状态 fmt.Println("start sleeping...") time.Sleep(time.Second) fmt.Println("end sleep.") //【结果】...阅读全文

博文 2016-10-08 10:00:04 tree2013

PostgreSQL 的指标记录仪 Pome

Pome 是 **Po**stgres **Me**trics 的意思。Pome 是一个 PostgreSQL 的指标仪表器,用来跟踪你的数据库的健康状况。项目目前还在非常初级的阶段,还有许多特性没有补全。 [更多内容](http://rachbelaid.com/introducing-pome) [](http://rachbelaid.com/introducing-pome) **Pome 目前收集了下列的指标:** * 数据库大小(Database size) * 表格大小(Tables size) * 索引大小(Indexes size) * 连接数(Number of Connections) * 臃肿表格的比率( Ratio of the most bloat...阅读全文

第6课 Go函数func&defer

Go语言函数的基本用法! package main import ( "fmt" ) /* 函数function -Go函数不支持嵌套、重载、默认参数 -但支持以下特性: 无序声明原型,不定长度变参,多返回值,命名返回值参数 匿名函数,闭包 -定义函数使用关键字func,且左大括号不能另起一行 -函数也可以作为一种类型使用 */ func A(a int, b string, c int) int { //代表参数有三个,返回值是一个int型 return 1 } func B(a, b, c int) { //参数也可以这样写 } func C() (a, b, c int) { a = 1 b = 1 c = 1 //代表返回值a,b,c,注意在此处abc已经是局部变量 return /...阅读全文

博文 2016-08-16 20:00:00 lhdalhd1996

go语言学习记录2

defer :1 函数离开前执行2 FILO 栈package main import "fmt" func trace(s string) { fmt.Println("entering:", s); } func untrace(s string) { fmt.Println("leaving:", s); } func a() { trace("a"); defer untrace("a"); fmt.Println("in a") } func b() { trace("b"); defer untrace("b"); fmt.Println("in b"); a() } func trace2(s string) string { fmt.Println("entering:",s...阅读全文

博文 2015-12-23 01:00:10 lwj1396

go 语言学习记录1

1 package main 2 3 import "fmt" 4 5 func sum(values [] int , resultChan chan int){ 6 sum:=0 7 for _, value := range values{ 8 sum += value 9 } 10 resultChan <- sum 11 } 12 13 func main(){ 14 values := [] int{1,2,3,4,5,6,7,8,9,10} 15 resultChan := make(chan int, 2) 16 go sum(values[:len(values)/2],resultChan) 17 go sum(values[len(values)/2:],resultC...阅读全文

博文 2015-06-17 23:02:26 lwj1396

Go语言学习-time包

go语言的time包 组成 time.Duration(时长,耗时) time.Time(时间点) time.C(放时间点的管道)[ Time.C:=make(chan time.Time) ] time包里有2个东西,一个是时间点,另一个是时长 时间点的意思就是“某一刻”,比如 2000年1月1日1点1分1秒 那一刻(后台记录的是unix时间,从1970年开始计算) 时长就是某一刻与另一刻的差,也就是耗时 函数 Sleep函数 time.Sleep(time.Duration) 表示睡多少时间,睡觉时,是阻塞状态 fmt.Println("start sleeping...") time.Sleep(time.Second) fmt.Println("end sleep.") //【结果】...阅读全文

博文 2016-10-11 03:00:10 tree2013

go学习笔记 利用chan嵌套chan 实现函数异步执行 顺序返回值

遇到的问题 异步对于绝大多数的开发而言并不陌生,在go语言中异步的实现变得异常方便。只要在执行的方法前加一个go关键字就可以实现异步操作。但是如果需求是,按照调用的先后顺序(FIFO)来返回值我们应该怎么办。大家都知道,一系列的方法调用如果使用了异步执行那么就并不能保证返回的先后顺序,返回的先后顺序取决于每个函数耗时的长短,耗时短的则会先返回。当然解决这个问题的办法有很多,在最近看的一本书中发现了chan嵌套chan可以很巧妙的实现这个需求。 没解决之前 先看一下没有使用嵌套chan的情况。代码很简单,方法operation1 内部sleep 1秒 方法operation2 内部sleep 2秒。5次调用都在goroutine中执行,结果可以看到 5个方法大约耗时2秒。 package ma...阅读全文

博文 2019-03-12 17:34:41 大二小的宝

【golang】队列

package datastructure import ( "errors" ) type Queue struct { list []int } func NewQueue() *Queue { list := make([]int, 0) return &Queue{list} } func (q *Queue) Enqueue(val int) { q.list = append(q.list, val) } func (q *Queue) Dequeue() int { if q.Len() == 0 { panic(errors.New("queue is empty")) } val := q.list[0] q.list = q.list[1:] return val } f...阅读全文

博文 2019-06-30 23:32:45 不想失忆的猫

golang 基础(33)异常处理

golang_real.jpg 对出初学者往往忽视程序中异常处理,认为程序总是是在一个被百般呵护的环境运行,没有任何风吹雨打,这是因为我们是最了解自己程序的人。所以我们知道他喜欢什么,什么能吃什么不能吃。不过终归有一天他回归自然。这是适应外界环境是他能否在激烈竞争市场存活的基本条件。这种适应外界恶劣环境能力就是他对异常或错误处理的能力。 在 go 语言中引入标准错误处理模型,错误接口。只要实现了 error 接口的数据类型我们就可以认为其为错误类型。 type error interface { Error() string } 通过代码证明一下上面的结论,定义 errorString 结构体,然后让其实现 Error 方法,只要实现 interface 的方法我们认为这个结构体就实现了 e...阅读全文

go语言学习记录7

package main import "fmt" func main(){ slices := make([]int,5,10) bs := slices fmt.Println("before changing.......") for _,i := range slices{ fmt.Println(i) } for _,i := range bs{ fmt.Println(i) } slices[1]++ fmt.Println("after changing.......") for _,i := range slices{ fmt.Println(i) } for _,i := range bs{ fmt.Println(i) } }关于值语义与引用语...阅读全文

博文 2016-04-10 09:00:09 lwj1396

[uber-zap/part4]自定义记录器

说明 之前翻译的一个教程(没有备份原地址,梯子被封了)。原地址找到后补上 正文 有时候,相比创建一个记录器,然后在函数中传递它,使用全局记录器会更方便标准日志库log允许你使用log.New()创建自定义记录器,也可以调用帮助函数log.Printf()等直接使用标准记录器实例 zap使用zap.L()和zap.S()提供这样的功能,但是对于我来说,不会直接使用它们。你可以使用zap.L()访问全局标准记录器,这个函数返回共享记录器实例。加糖版本(sugared version)可以通过zap.S()访问 从我的简单使用中看到,这个共享记录器开箱即用--如果你只是立即使用它们,他们就不会提供输出。它们的唯一目的似乎是提供一种在代码中的任何位置检索此实例的简单方法 如果你确定要有用的使用此标准...阅读全文

博文 2019-03-30 20:34:39 小龙虾

【Go学习笔记】9、函数func

函数func Go函数不支持嵌套、重载和默认参数 但是支持一下特性 无需声明原型、不定长度变参、多返回值、命名返回值参数 匿名函数、闭包 定义函数使用关键字func,且左大括号不能另起一行 函数也可以作为一种类型使用 1234567891011121314151617181920212223//commomfunc main() { a,b,c,d := 1,2,3,4 test(a,b,c,d)}func test(s ...int) { fmt.Println(s)}//closurefunc main() { test := test(1) fmt.Println(test(1))}func test(a int) func(int) int { return func(b int) ...阅读全文

博文 2017-05-30 05:10:12 HundredLee

LollipopGo架构 v1.0.20181225更新

Golang语言社区 LollipopGo架构 v1.0.20181225更新: 1 增加游戏历史记录流程,数据保存流程等 2 增加俄罗斯方块游戏服务器逻辑。 LollipopGo架构 v1.0.20181225.png LollipopGo游戏服务器地址: https://github.com/Golangltd/LollipopGo 社区视频课程课件GIT地址: https://github.com/Golangltd/codeclass Golang语言社区论坛 : www.Golang.Ltd Golang语言社...阅读全文

博文 2018-12-25 18:34:43 Golang语言社区

学习记录

2019-03-02 golang:1. stringsstring.Replace(s, " ", "%20", -1)string.Splitstring.SplitN: 最终分成N份string.SplitAfter: 保留sepstrings.Joinlen([]rune(s))2. switch typeswitch x := m.(type) { case bool, int: // x's type is as m, usually interface}3. structtype Param map[string]interface{}type Show struct{Param}这样是ok的,但是map需要单独maketype People struct { name str...阅读全文

博文 2019-03-02 17:34:40 wangchao71

[uber-zap/part2]自定义记录器

说明 之前翻译的一个教程(没有备份原地址,梯子被封了)。原地址找到后补上 正文 使用预设的记录器可以节省时间,但如果确定要调整记录器,需要探索自定义记录器的方法 使用zap配置结构体创建记录器 可以使用配置zap.Config创建记录器,这是一个结构体,可以使用需要的值填充结构体,然后调用结构体的.Build()方法来获取记录器 cfg := zap.Config{...} logger, err := cfg.Build() 需要注意的是:zap.Config的结构体没有默认值,至少为zap需要的三个设置提供值 encoder: 只需要添加个Encoding:"XXX",使用json就会创建一个JSON的encoder,另一个值是console 可以使用结构zapcore.EncoderC...阅读全文

博文 2019-03-30 12:34:38 小龙虾

聊天服务器

https://github.com/buguang01/bigeChat 里面默认做的消息都是通过websocket与客户端进行直连,如果你想修改,可以自行动手,也可以联系我,我们可以一起沟通一下。 基本的流程就是用户连接上来后,进行注册,可以在这里做一些验证什么的。 然后服务器会从redis里写出用户信息,用来在发聊天信息的时候,把用户信息附加上去。这里可以自行修改。 注册成功后,用户需要监听他想参加的频道, 离线或心跳超时就会T掉用户离开对应的频道 频道里没有人一段时间后,就会自动销毁 有人在频道里说话就会发推送给频道里的所有人 刚加入某个频道的时候,会把频道里的最新几步历史数据返回给用户...阅读全文

go mod replace 记录

cloud.google.com/go => github.com/GoogleCloudPlatform/google-cloud-go latestgolang.org/x/crypto => github.com/golang/crypto latestgolang.org/x/exp => github.com/golang/exp latestgolang.org/x/image => github.com/golang/image latestgolang.org/x/lint => github.com/golang/lint latestgolang.org/x/mobile => github.com/golang/mobile latestgolang.org/x/mod...阅读全文

博文 2019-08-09 20:32:58 福州王子