NQ peptide[2:4] -> NQL peptide[2:5] -> NQLE 最好的方法是什么?-6ren">
gpt4 book ai didi

go - 获取循环子串的最佳方法是什么

转载 作者:IT王子 更新时间:2023-10-29 01:03:09 27 4
gpt4 key购买 nike

我想要这样的东西:

var peptide = "LENQ"

peptide[2:3] -> NQ
peptide[2:4] -> NQL
peptide[2:5] -> NQLE

最好的方法是什么?可能有一个库函数来获取它还是我需要自己编写它?

最佳答案

例如,

package main

import (
"fmt"
"unicode/utf8"
)

func cyclicSubstrings(str string) []string {
n := utf8.RuneCountInString(str)
substrs := make([]string, 0, n*n)
cycles := str + str
for i := range str {
cycle := cycles[i : i+len(str)]
for j, r := range cycle {
substrs = append(substrs, cycle[:j+utf8.RuneLen(r)])
}
}
return substrs
}

func main() {
peptide := "LENQ"
fmt.Println(cyclicSubstrings(peptide))
}

输出:

[L LE LEN LENQ E EN ENQ ENQL N NQ NQL NQLE Q QL QLE QLEN]

关于go - 获取循环子串的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26818299/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com