That makes so much more sense now. Thank you for the explanation! On Thu, Jun 6, 2019 at 7:07 PM Steven Blenkinsop <steven...@gmail.com> wrote:
> = is always required when you're assigning a value to the var. the > confusion might be that you can also have a declaration like > > var bar []struct{a, b, c string} > > where you don't assign a value to bar (meaning it will be null). > > Really, the syntax is > > var variableName Type = value > > You can leave off either the "Type" or the "= value" but not both. > > var bar = []struct{a, b, c string} { > { "really", "long", "row"}, > { "many", "many", "rows"}, > ... > } > > is just a special case where you've left off the "Type", and "value" > happens to be a composite literal expression. It could also be written as > > var bar []struct{a, b, c string} = []struct{a, b, c string} { > { "really", "long", "row"}, > { "many", "many", "rows"}, > ... > } > > On Thu, Jun 6, 2019 at 2:47 PM 'Aaron Spangler' via golang-nuts < > golang-nuts@googlegroups.com> wrote: > >> Thank you! You are correct. That was exactly my problem. Adding the >> equals sign (=) solved it. >> >> I guess I need to be more aware that sometimes an equals statement is >> required on a 'var' line and other times it is not. (perhaps only when it >> has a literal) >> >> Thanks again! >> >> On Thu, Jun 6, 2019 at 11:05 AM Ian Lance Taylor <i...@golang.org> wrote: >> >>> On Thu, Jun 6, 2019 at 10:56 AM ajs via golang-nuts >>> <golang-nuts@googlegroups.com> wrote: >>> > >>> > I can declare literal bar inside a function like this: >>> > >>> > func foo() { >>> > bar := []struct{a, b, c string} { >>> > { "really", "long", "row"}, >>> > { "many", "many", "rows"}, >>> > ... >>> > } >>> > } >>> > >>> > But I really want it anchored (for code generation reason) outside of >>> a function like this: >>> > >>> > func foo() { >>> > ... >>> > } >>> > >>> > var bar []struct{a, b, c string} { >>> > { "really", "long", "row"}, >>> > { "many", "many", "rows"}, >>> > ... >>> > } >>> > >>> > The problem is it gets upset on the last character of the 'var bar >>> ...' line. Is there a better way to write this? >>> > Note for reasons outside of this discussion, I really want to avoid >>> writing it by repeating the discrete field names: >>> > >>> > var bar []struct{a, b, c string} { >>> > {a: "really",b: "long",c: "row"}, // Don't want to do this >>> > {a: "many", b: "many", c: "rows"}, // Don't want to do this >>> > ... >>> > } >>> > >>> > Any thoughts? What am I missing? >>> >>> An important tip: when asking a question, please tell us precisely >>> what you did and precisely what happened. You can see what happened, >>> but when you write "it gets upset" we have to guess. And it's easy >>> for us to guess wrong. >>> >>> When I look at >>> >>> var bar []struct{a, b, c string} { >>> { "really", "long", "row"}, >>> { "many", "many", "rows"}, >>> ... >>> } >>> >>> what I think is that it should say >>> >>> var bar = []struct{... >>> >>> That is, you are missing the "=". But I don't know if that was a typo >>> in the e-mail message. So if that doesn't help tell us exactly what >>> you did and exactly what happened. >>> >>> Ian >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "golang-nuts" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to golang-nuts+unsubscr...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/golang-nuts/CAHP%2Bjq4-wp5EgvmK-POEHmDNa8-T9WUJqzAYJA9jRsuuo6%2Boaw%40mail.gmail.com >> <https://groups.google.com/d/msgid/golang-nuts/CAHP%2Bjq4-wp5EgvmK-POEHmDNa8-T9WUJqzAYJA9jRsuuo6%2Boaw%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CAHP%2Bjq4LhVzqWx%2BmehCp%2B6heeXmLvvPQbz%2B7Ofn5bm1vU%2BWufQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.