小编jsg*_*cke的帖子

在int中编码[]字节切片的更多惯用方法是什么?

在Go中将[]字节切片编码为int64是否有更好或更惯用的方法?

package main

import "fmt"

func main() {
    var mySlice = []byte{244, 244, 244, 244, 244, 244, 244, 244}
    var data int64
    for i := 0; i < 8; i++ {
                data |= int64(mySlice[i] & byte(255)) << uint((8*8)-((i+1)*8))
    }
    fmt.Println(data)
}
Run Code Online (Sandbox Code Playgroud)

http://play.golang.org/p/VjaqeFkgBX

bit-manipulation go

9
推荐指数
3
解决办法
3128
查看次数

如何在Go中查找NAPTR记录?

我试图NAPTR在Go中查询记录.看来DNS"网络"库中提供的基础知识不会让我访问.因此我正在考虑使用(参见文档),但找不到任何基本的例子.是否有关于替代方案的建议或有关如何查询的一些见解NAPTR

dns go

6
推荐指数
1
解决办法
529
查看次数

如何在Go中使用'multipart'设置表单的Content-Type

我正在尝试上传一个文件,要求我为API设置特定的Content-Type.当我这样做:

file, err := os.Open("helloWorld.wav")
buf := new(bytes.Buffer)
writer := multipart.NewWriter(buf)
audioFile, _ := writer.CreateFormFile("file", "helloWorld.wav")
_, err = io.Copy(audioFile, file)
if err != nil {
     return nil, 0, err
}
writer.Close()
Run Code Online (Sandbox Code Playgroud)

它正确创建了多部分表单,但假设此内容类型:

Content-Type: application/octet-stream
Run Code Online (Sandbox Code Playgroud)

我需要能够将其设置为:

Content-Type: audio/wav;rate=8000
Run Code Online (Sandbox Code Playgroud)

当然我可以设置net/http的标题,我没有看到如何为多部分表单中的单个字段执行此操作.

multipartform-data go

2
推荐指数
1
解决办法
1727
查看次数

Goconvey引起恐慌与詹金斯的常规

我有一套测试,使用GoConvey和Go 1.3.1在本地工作得很好.但是当我用Jenkins触发构建时,还有Go 1.3.1,我得到了Goconvey的恐慌,这与我在测试中使用的go例程有关.

测试可以在这里看到:

func TestListApplication(t *testing.T) {
    s := &Session{}
    s.Username = "foo"
    s.Password = "bar"
    ts := serveHTTP(t)
    defer ts.Close()
    s.Baseurl = ts.URL
    s.initialize()

    go func() {
        <-s.Comms.AppCount
    }()

    Convey("TestListApplication", t, func() {
        s.Comms.MainWaitGroup.Add(1)

        application := &Application{}
        err := json.Unmarshal(applicationJSON(), application)
        So(err, ShouldBeNil)

        revisions := &Revisions{}
        err = json.Unmarshal(revisionsJSON(), revisions)
        So(err, ShouldBeNil)

        var wg sync.WaitGroup
        wg.Add(1)
        go func() {
            defer wg.Done()
            line := <-s.Comms.Msg
            So(line, ShouldEqual, "3        admin       foo\n")
        }()
        s.listApplication(application, revisions)
        wg.Wait()
    })
}
Run Code Online (Sandbox Code Playgroud)

这里的错误:

86 assertions …
Run Code Online (Sandbox Code Playgroud)

tdd go jenkins goconvey

2
推荐指数
1
解决办法
1177
查看次数

标签 统计

go ×4

bit-manipulation ×1

dns ×1

goconvey ×1

jenkins ×1

multipartform-data ×1

tdd ×1