Golang does not allow pointer-arithmetic (arrays do not decay to pointers) and insecure casting. All downcasts will be checked using the runtime-type of the variable and either panic or return false as second return-value when the instance is of the wrong type, depending on whether you actually take the second return type or not.
@StephenWeinberg: Yes, my "nothing really" answer to the "what's the difference" quote is answering the question that was asked about the difference between the slice generated by the variadic function parameter, and the one created using the []string syntax. I'll add more of the quote to my answer to make it clearer. :-)
How can I print a number or make a string with zero padding to make it fixed width? For instance, if I have the number 12 and I want to make it 000012.
As of Go 1.13 (or earlier if you use golang.org/x/xerrors), you can use the %w verb, only for error values, which wraps the error such that it can later be unwrapped with errors.Unwrap, and so that it can be considered with errors.Is and errors.As.
I want to check if two structs, slices and maps are equal. But I'm running into problems with the following code. See my comments at the relevant lines. package main import ( "fmt" "refl...
I could find the conventions for naming packages in Go: no underscore between words, everything lowercase. Does this convention apply to the filenames too? Do you also put one struct in one file ...