Add support for multiline string literals #367
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently, an env variable can hold a multiline string, for example:
Which prints out:
Whereas if I want to use a multiline string literal, then an error is returned.
A workaround is to use double backslashes:
Whilst this gives the desired output in this situation, it is impractical for our case.
Apart from the excessive line length, there are other issues like readability.
We have a requirement where the input strings do not exist in Go code, but are read from other sources (e.g. yaml files) and use the
map
function on a collection. An example would be something like this, but with many more lines and arguments:This PR adds support for multiline string literals through the backtick character, so it will handle our situation as well as more simple ones: