golang - читать строковый аргумент include & - PullRequest
0 голосов
/ 28 февраля 2019

Как прочитать строковый аргумент, включая & в Go, например, эту ссылку

$ ./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 голосов
/ 28 февраля 2019

И @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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...