golang-读取字符串参数包括&

时间:2019-02-28 18:55:54

标签: go

例如,我如何阅读Go中的字符串参数include&

  

$ ./main   https://www.youtube.com/watch?v=G3PvTWRIhZA&list=PLQVvvaa0QuDeF3hP0wQoSxpkqgRcgxMqX

不使用双引号(“)

  

$ ./main   “ https://www.youtube.com/watch?v=G3PvTWRIhZA&list=PLQVvvaa0QuDeF3hP0wQoSxpkqgRcgxMqX

main.go

package main

import (
        "os"
        "fmt"
)

func main() {
        link := os.Args[1]

        fmt.Println(link)
}
  

$ go build main.go

     

$ ./main   https://www.youtube.com/watch?v=G3PvTWRIhZA&list=PLQVvvaa0QuDeF3hP0wQoSxpkqgRcgxMqX

输出将为

https://www.youtube.com/watch?v=G3PvTWRIhZA

1 个答案:

答案 0 :(得分:0)

@JimB和@Adrian都正确,&必须转义。

如果您绝对必须找到一种解决方法,则可以选择不使用命令行参数,而是读取输入内容以绕过转义的需要。

示例:

package main

import (
    "fmt"
)

func main() {
    var input string
    fmt.Scan(&input)
    fmt.Println(input)
}

输入:

$ ./main https://www.youtube.com/watch?v=G3PvTWRIhZA&list=PLQVvvaa0QuDeF3hP0wQoSxpkqgRcgxMqX

输出:

https://www.youtube.com/watch?v=G3PvTWRIhZA&list=PLQVvvaa0QuDeF3hP0wQoSxpkqgRcgxMqX