猿问

获得循环子串的最佳方法是什么

我想要这样的东西:


var peptide = "LENQ"


peptide[2:3] -> NQ

peptide[2:4] -> NQL

peptide[2:5] -> NQLE

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


缥缈止盈
浏览 181回答 1
1回答

HUH函数

例如,package mainimport (    "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]
随时随地看视频慕课网APP

相关分类

Go
我要回答