Join
发布者:admin 发表于:439天前 阅读数:640 评论:0

本文整理汇总了Golang中bytes.Join函数的典型用法代码### 示例。如果您正苦于以下问题:Golang Join函数的具体用法?Golang Join怎么用?Golang Join使用的例子?那么恭喜您, 这里精选的函数代码### 示例或许可以为您提供帮助。

在下文中一共展示了Join函数的20个代码### 示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码### 示例。

示例1: Read

// Read a single sequence and return it or an error.
// TODO: Does not read multi-line fastq.
func (self *Reader) Read() (s seq.Sequence, err error) {
    var (
        buff, line, label []byte
        isPrefix          bool
        seqBuff           []alphabet.QLetter
        t                 seqio.SequenceAppender
    )

    inQual := false

    for {
        if buff, isPrefix, err = self.r.ReadLine(); err == nil {
            if isPrefix {
                line = append(line, buff...)
                continue
            } else {
                line = buff
            }

            line = bytes.TrimSpace(line)
            if len(line) == 0 {
                continue
            }
            switch {
            case !inQual && line[0] == '@':
                t = self.readHeader(line)
                label, line = line, nil
            case !inQual && line[0] == '+':
                if len(label) == 0 {
                    return nil, bio.NewError("fastq: no header line parsed before +line in fastq format", 0)
                }
                if len(line) > 1 && bytes.Compare(label[1:], line[1:]) != 0 {
                    return nil, bio.NewError("fastq: quality header does not match sequence header", 0)
                }
                inQual = true
            case !inQual:
                line = bytes.Join(bytes.Fields(line), nil)
                seqBuff = make([]alphabet.QLetter, len(line))
                for i := range line {
                    seqBuff[i].L = alphabet.Letter(line[i])
                }
            case inQual:
                line = bytes.Join(bytes.Fields(line), nil)
                if len(line) != len(seqBuff) {
                    return nil, bio.NewError("fastq: sequence/quality length mismatch", 0)
                }
                for i := range line {
                    seqBuff[i].Q = alphabet.DecodeToQphred(line[i], self.enc)
                }
                t.AppendQLetters(seqBuff...)

                return t, nil
            }
        } else {
            return
        }
    }

    panic("cannot reach")
}

开发者ID:frogs,项目名称:biogo,代码行数:62,代码来源:fastq.go

示例2: assertion

func (auth *Auth) assertion() ([]byte, error) {
    header, err := json.Marshal(
        map[string]interface{}{
            "typ": "JWT",
            "alg": "RS256",
        })
    if err != nil {
        return nil, err
    }
    parts := [3][]byte{}
    parts[0] = b64urlencode(header)
    now := time.Now()
    claims, err := json.Marshal(
        map[string]interface{}{
            "iss":   auth.Email,
            "scope": strings.Join(auth.Scope, " "),
            "aud":   aud,
            "exp":   now.Add(time.Hour).Unix(),
            "iat":   now.Unix(),
        })
    if err != nil {
        return nil, err
    }
    parts[1] = b64urlencode(claims)

    sha := sha256.New()
    sha.Write(bytes.Join(parts[:2], separator))
    signature, err := rsa.SignPKCS1v15(rand.Reader, auth.Key, crypto.SHA256, sha.Sum(nil))
    if err != nil {
        return nil, err
    }
    parts[2] = b64urlencode(signature)
    return bytes.Join(parts[:], separator), nil
}

开发者ID:doug,项目名称:gserviceauth,代码行数:34,代码来源:gserviceauth.go

示例3: toCamelCase

func toCamelCase(x string) string {
    if len(x) == 0 {
        return ""
    }

    output := make([]byte, 0)
    uppercase := true

    for len(x) > 0 {
        v, size := utf8.DecodeRuneInString(x)

        // If underscore, append and keep going.
        if v == '_' {
            uppercase = true
        } else if unicode.IsLetter(v) {
            if uppercase {
                uppercase = false
                buf := make([]byte, size)
                utf8.EncodeRune(buf, unicode.ToUpper(v))
                output = bytes.Join([][]byte{output, buf}, nil)
            } else if unicode.IsUpper(v) {
                buf := make([]byte, size)
                utf8.EncodeRune(buf, v)
                output = bytes.Join([][]byte{output, buf}, []byte("_"))
            }
        }

        x = x[size:]
    }

    return string(output)
}

开发者ID:huntaub,项目名称:go-db,代码行数:32,代码来源:db.go

示例4: packPUBLISH

/* Pack return data */
func packPUBLISH(dup bool, qos int, retain bool, topic string, messageID uint16, payload []byte) []byte {
    var remaining []byte
    if qos == 0 {
        remaining = bytes.Join([][]byte{
            str_to_bytes(topic),
            payload,
        }, nil)
    } else {
        remaining = bytes.Join([][]byte{
            str_to_bytes(topic),
            []byte{byte(messageID / 256), byte(messageID % 256)},
            payload,
        }, nil)
    }
    header := byte(PUBLISH*16 + qos*2)
    if dup {
        header |= 0x80
    }
    if retain {
        header |= 0x01
    }
    return bytes.Join([][]byte{
        []byte{header},
        encodeRemainLength(len(remaining)),
        remaining,
    }, nil)
}

开发者ID:nakagami,项目名称:toybroker,代码行数:28,代码来源:utils.go

示例5: TestReader_blockTooLarge

// This test validates errors returned when data blocks exceed size limits.
func TestReader_blockTooLarge(t *testing.T) {
    // the compressed chunk size is within the allowed encoding size
    // (maxEncodedBlockSize). but the uncompressed data is larger than allowed.
    badstream := bytes.Join([][]byte{
        streamID,
        compressedChunk(t, make([]byte, (1<<24)-5)),
    }, nil)
    r := NewReader(bytes.NewBuffer(badstream), true)
    p := make([]byte, 1)
    n, err := r.Read(p)
    if err == nil {
        t.Fatalf("read: expected error")
    }
    if n != 0 {
        t.Fatalf("read: read data from the stream")
    }

    // the compressed chunk size is within the allowed encoding size
    // (maxEncodedBlockSize). but the uncompressed data is larger than allowed.
    badstream = bytes.Join([][]byte{
        streamID,
        uncompressedChunk(t, make([]byte, (1<<24)-5)),
    }, nil)
    r = NewReader(bytes.NewBuffer(badstream), true)
    p = make([]byte, 1)
    n, err = r.Read(p)
    if err == nil {
        t.Fatalf("read: expected error")
    }
    if n != 0 {
        t.Fatalf("read: read data from the stream")
    }
}

开发者ID:hailocab,项目名称:go-snappystream,代码行数:34,代码来源:reader_test.go