У меня есть идти генерировать директива, которая выглядит следующим образом:Go генерирует экранирующие символы
//go:generate myprog -someName thisname -data 'Request: Typ "." callMe, Rsp: MyTyp "." close'
Вопрос заключается в том, что программа получает только значение -someName
флага («thisname»). Я предполагаю, что флаг -data
по некоторым причинам отбрасывается. Любая идея почему? Он работает, если я запускаю программу непосредственно из командной строки, поэтому я предполагаю, что это конкретная проблема.
Это похоже на случай, хотя мне неловко, что вы не можете использовать одинарные кавычки. Теперь моя директива будет иметь несколько символов обратной косой черты, чтобы избежать двойных кавычек. Считаете ли вы, что это имеет какой-то шанс в качестве запроса функции/улучшения или есть веские причины, по которым он не принимает одинарные кавычки? –
Я сомневаюсь, что такой запрос функции найдет много сторонников: Go сгенерирует простой механизм, и после введения одинарных кавычек кто-то попросит обратные кавычки, а следующий - для тройных кавычек (двойных и одиночных), подобных python, только потому, что он делает одно использование of go создают немного проще. Go generate не является ни для конечного пользователя, ни для пользователя вашего пакета. Инвестирование 5 или, может быть, 15 минут, чтобы правильно процитировать несколько двойных комментариев, кажется подходящим для программиста. – Volker