Yes, looking at the code, it is impossible in the current format whereby it considers the entire string starting with $ as the key.
I’d say you could change it so that it splits the strings by whitespace and then considers each of the resultant strings in the slice by whether or not they begin with the $ symbol, rather than the entire string, then reconstructs the string (but that feels like reinventing fmt.Sprintf).