我必须从文件中检索单词,而不是切片,而只需要输出单词,其中字母是连续字母,例如feed和bcd
所以我想出了这个函数,其中r [] rune是字母的int代表,line是文件中的单词。该函数应该减去位置k的值和位置m的值,并且如果输出为0或1,它将返回bool。但是如果l [k] -l [m] = 0 |我将无法得到这个| l [k] -l [m] = 1 {工作
func differenceofint(r []rune, line string) bool{
for i, j := range r{
k := int(i) //position
l := int(j) //the int representative
m:=int (i+1)
fmt.Println(k, l,m)
if l[k]-l[m]=0 | l[k]-l[m]=1{
return true
}
}
return false
}
答案 0 :(得分:0)
不确定我是否完全明白想要什么(bdc似乎不是一个流行的词),但是我的解释如下:
package main
import (
"fmt"
"strings"
)
func running(word string) bool {
evaluator := int(word[0])
for _, v := range word {
if int(v) != evaluator-1 && int(v) != evaluator+1 && int(v) != evaluator {
return false
}
evaluator = int(v)
}
return true
}
func runningWords(line string) (result []string) {
words := strings.Split(line, " ")
for _, aword := range words {
if running(aword) {
result = append(result, aword)
}
}
return
}
func main() {
fmt.Println(runningWords("algo atum feed bcd abcdef"))
}
和游乐场链接https://play.golang.org/p/A44Xed6Naa6
关于代码的注释:
或为||
我认为您想访问行符文。 l是整数,因此不会编译l [k]或l [m]。我想你想要r [k]或l [m]
如果是长文本,则需要考虑换行符,特殊字符,标点符号和其他一些问题。
好运