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

Go 解决"Connection reset by peer"或"EOF"问题

【问题】 我编写了一个http Client程序代码如下: // create a request req, err := http.NewRequest(method, url, body) if err != nil { return nil, err } // send JSON to firebase resp, err := http.DefaultClient.Do(req) if err != nil { return nil, err } if resp.StatusCode != http.StatusOK { return nil, fmt.Errorf("Bad HTTP Response: %v", resp.Status) } defer resp.Body.Clo...阅读全文

博文 2016-12-19 14:00:02 吃一堑消化不良

golang 使用 iota

iota是golang语言的常量计数器,只能在常量的表达式中使用。 iota在const关键字出现时将被重置为0(const内部的第一行之前),const中每新增一行常量声明将使iota计数一次(iota可理解为const语句块中的行索引)。 使用iota能简化定义,在定义枚举时很有用。 举例如下: 1、iota只能在常量的表达式中使用。 fmt.Println(iota) 编译错误: undefined: iota 2、每次 const 出现时,都会让 iota 初始化为0.【自增长】 const a = iota // a=0const ( b = iota //b=0 c //c=1) 3、自定义类型 自增长常量经常包含一个自定义枚举类型,允许你依靠编译器完成自增设置。 type St...阅读全文

golang中三种定时器的实现方式及周期定时

一、定时器的创建 golang中定时器有三种实现方式,分别是time.sleep、time.after、time.Timer 其中time.after和time.Timer需要对通道进行释放才能达到定时的效果 package main import ( "fmt" "time" ) func main() { /* 用sleep实现定时器 */ fmt.Println(time.Now()) time.Sleep(time.Second) fmt.Println(time.Now()) /* 用timer实现定时器 */ timer := time.NewTimer(time.Second) fmt.Println(<-timer.C) /* 用after实现定时器 */ fmt.Print...阅读全文

博文 2019-07-23 18:32:43 七八个星天

Golang"Connection reset"&"EOF"问题

【场景】 在调用微信生成小程序二维码生成接口的时候,使用golang默认的http client发送请求。 代码如下: req, err := http.NewRequest(method, url, body) iferr !=nil{ return nil, err } resp, err := http.DefaultClient.Do(req) if err !=nil{ return nil, err } defer resp.Body.Close() b, err := ioutil.ReadAll(resp.Body) if err !=nil{ return nil, err } 当并发量大的时候就会出现大量的错误 ERROR 10108 socket.cpp:985 0x7...阅读全文

博文 2018-12-05 22:34:44 打瞌睡滴花花

PAT:05-1. List Components (25),Go语言解答

题目大概意思:给定一个有N个顶点和E个边的无向图,请分别用DFS和BFS遍历无向图。假定顶点编号为0到N-1,在遍历的时候总是从最小编号的顶点出发,在访问相邻结点的时候,按升序的方式访问。 For a given undirected graph with N vertices and E edges, pleaselist all the connected components by both DFS and BFS. Assume thatall the vertices are numbered from 0 to N-1. While searching,assume that we always start from the vertex with the smallestind...阅读全文

博文 2015-10-25 17:00:05 u013564276

Go 数字转字符串,字符串转数字, 枚举

数字转字符串,字符串转数字 package main import ( "fmt" "strconv" ) func main() { // 80 转换成 "80" //number := 80 // //number_int :=strconv.Itoa(number) // //fmt.Println(number_int) //fmt.Printf("%T", number_int) // 如果不用这种的,可能转出来的不是你想象中的那样 //number := 80 // //number_str := string(number) // //fmt.Println(number_str) // number_str = P, 对应到了相应的ascci码上了 //fmt.Printf(...阅读全文

博文 2019-04-07 17:35:10 听砜

Go语言学习(二)常量

package main import "fmt" //1.定义常量的关键字const const Pi float64 = 3.14159265358979323846 const zero = 0.0 //无类型浮点常量 const( size int64 = 1024 eof = -1 //无类型整型常量 ) const u,v float32 = 0 , 3 //u=0.0,v=3.0 常量的多重赋值 const a , b , c = 3, 4, "foo" //a=3,b=4,c="foo" 无类型整型和字符常量 // Go的常量定义可以限定常量类型,但不是必需的。如果定义常量时没有指定类型,那么它 // 与字面常量一样,是无类型常量。 // 常量定义的右值也可以是一个在编译期运...阅读全文

博文 2016-04-02 21:00:01 mChenys

对Reader接口操作Read,索引位置不知到如何重置

有很多类都实现了Reader,比如io.File,bytes.Buffer 都实现了 在操作的时候可能需要重复用Read读取内容,不过当Read读取完之后再读取就会为空,如果想再使用里面的内容就会遇到问题。 想问下怎么让他们的索引再次从0开始,以便Read再次读取出内容,而不必在新建一个呢(以bytes.Buffer或io.File为例)...阅读全文

golang使用数组模拟环形队列(demo)

// 定义环形队列结构体type LoopQueue struct { MaxSize int array [5]int front int rear int over bool // 标识队列是否溢出}// 定义环形队列的添加数据方法func (loop *LoopQueue) Add(val int) { // 环形队列如果队列满了会覆盖前面先进来的位置元素 if loop.rear == loop.MaxSize -1 { // 重置队尾的指针指向,从头重新开始队列的逻辑 // 这里如果用取模的话,还没实现 loop.rear = -1 // 这个是为了退出条件,当loop.rear == loop.front loop.front = loop.rear + 1 // 队列是否溢出覆...阅读全文

博文 2019-09-11 18:33:50 牛奶i豆浆

Go语言

特殊变量iota iota是golang语言的常量计数器,只能在常量的表达式中使用。 iota在const关键字出现时将被重置为0(const内部的第一行之前),const中每新增一行常量声明将使iota计数一次(iota可理解为const语句块中的行索引)。 使用iota能简化定义,在定义枚举时很有用。 iota常见使用法 跳值使用法 const ( a = iota //a=0 b = iota //b=1 _ = iota //跳值 c = iota //c=3 ) 插队使用法 const ( a = iota //a=0 b = iota //b=1 c = 3.14 //插队 d = iota //d=3 ) 表达式隐式使用法 未定义的常量自动继承上方最近的非空常量值。 const...阅读全文

博文 2019-01-31 21:34:42 HAPPYers

golang 设置header不生效

用golang写一个下载接口,代码如图 但最近经常出现 没有返回header,导致前端无法下载(不知道 之前是怎么测过了就好使的。。。最近也是个别环境 不正常)尝试了 defer c.Writer.flush() defer c.Request.Body.Close() 仍无法解决之后,最后发现 gzip 内部会重置 c.Writer() 导致我设置的header失效 解决方案-->> 不需要gzip的话,把它注释掉, 或者放在最前面就...阅读全文

博文 2019-10-15 23:32:52 aside section ._1OhGeD

go自定义一个定时器

### 定时器 + [查找更多案例](http://www.5lmh.com/ "查找更多案例") + Timer:时间到了,执行只执行1次 ```go package main import ( "fmt" "time" ) func main() { // 1.timer基本使用 //timer1 := time.NewTimer(2 * time.Second) //t1 := time.Now() //fmt.Printf("t1:%v\n", t1) //t2 := <-timer1.C //fmt.Printf("t2:%v\n", t2) // 2.验证timer只能响应1次 //timer2 := time.NewTimer(time.Second) //for { // <...阅读全文

博文 2019-11-27 16:44:33 lu569368