gpt4 book ai didi

string - GO标志pkg读取包含诸如“\u00FC”之类的转义 rune 的选项字符串将不会读取

转载 作者:行者123 更新时间:2023-12-01 22:36:36 25 4
gpt4 key购买 nike

下面的测试程序可以使用具有\ u00FC之类的代码点的DEFAULT字符串来按需工作,
以及该类型的代码点是否被编码为编内的字符串。从cmd行传递相同的字符串,例如:prog.exe -input =“ABC \ u00FC”不会。我以为是操作系统互动,所以
尝试了其他引号,甚至包装为:“((ABC \ u00FC)””,并修剪了功能NG内的括号。

对于转义的值,“for _,runeRead:= range [] rune”是否不正确?

package main

import (
"fmt"
"flag"
"os"
)

var input string
var m = make(map[rune]struct{})

func init() {
flag.StringVar(&input, "input", "A7\u00FC", "string of runes")
m['A'] = struct{}{}
m['\u00FC'] = struct{}{}
m['7'] = struct{}{}
}

func main() {
flag.Parse()
ck(input) // cmd line - with default OK
ck("A\u00FC") // hard code - OK
}

func ck(in string) {
for _, runeRead := range []rune(in) {
fmt.Printf("DEBUG: Testing rune: %v %v\n", string(runeRead), byte(runeRead))

if _, ok := m[runeRead]; ! ok {
fmt.Printf("\nERROR: Invalid entry <%v>, in string <%s>.\n", string(runeRead), in)
os.Exit(9)
}
}
}

Soluntion需要工作于Windows和Linux。

最佳答案

https://ss64.com/nt/syntax-esc.html

^转义字符。

在命令符号前添加转义字符可将其视为普通文本。
在管道传递或重定向这些字符中的任何一个时,应在前缀前加上转义字符:& \ < > ^ |

e.g.  ^\  ^&  ^|  ^>  ^<  ^^ 

所以你应该做
prog.exe -input="ABC^\u00FC"

关于string - GO标志pkg读取包含诸如“\u00FC”之类的转义 rune 的选项字符串将不会读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61150049/

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