54

次のコードがあります。 aruneを aにキャストして出力することstringになっています。ただし、印刷すると未定義の文字が表示されます。バグがどこにあるのかわかりません:

package main

import (
    "fmt"
    "strconv"
    "strings"
    "text/scanner"
)

func main() {
    var b scanner.Scanner
    const a = `a`
    b.Init(strings.NewReader(a))
    c := b.Scan()
    fmt.Println(strconv.QuoteRune(c))
}
4

3 に答える 3

4

私はパーティーに少し遅れていることを知っていますが、ここに[]ルーンから文字列への関数があります:

func runesToString(runes []rune) (outString string) {
    // don't need index so _
    for _, v := range runes {
        outString += string(v)
    }
    return
}

はい、名前付きの戻り値がありますが、行数が減り、関数が短いだけなので、この場合は問題ないと思います

于 2017-09-03T08:26:54.473 に答える