Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What this array init syntax mean? (elements with keys)

Tags:

go

I recently found the code below:

var noEscape = [256]bool{
    'A': true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
    'a': true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
    '0': true, true, true, true, true, true, true, true, true, true,
    '-': true,
    '.': true,
    '_': true,
    '~': true,
}

I understand that this [N]bool is initialized with N false (zeros) by default. And if the index followed by a colon is specified values can are defined form the index (inclusive). Where is it described? What types can be used as an index value (there is a char in the example)?

like image 770
kopiczko Avatar asked Dec 31 '15 13:12

kopiczko


People also ask

What is the syntax for array initialization?

To initialize or instantiate an array as we declare it, meaning we assign values as when we create the array, we can use the following shorthand syntax: int[] myArray = {13, 14, 15}; Or, you could generate a stream of values and assign it back to the array: int[] intArray = IntStream.

What is array syntax?

Array declaration syntax is very simple. The syntax is the same as for a normal variable declaration except the variable name should be followed by subscripts to specify the size of each dimension of the array. The general form for an array declaration would be: VariableType varName[dim1, dim2, ...

What does initializing an array mean?

The process of assigning values to the array elements is called array initialization. Once an array is declared, its elements must be initialized before they can be used in the program. If they are not properly initialized the program produces unexpected results.

What is array syntax in Java?

Arrays are used to store multiple values in a single variable, instead of declaring separate variables for each value. To declare an array, define the variable type with square brackets: String[] cars; We have now declared a variable that holds an array of strings.

How to declare and initialize an array at the same time?

The following syntax can be used to declare and initialize an array at the same time. // initialize an array at the time of declaration. int my_array [] = {100, 200, 300, 400, 500}

How to initialize an array of characters with a string?

When you initialize an array of characters with a string, the number of characters in the string — including the terminating '\0' — must not exceed the number of elements in the array. Listing the values of all elements you want to initialize, in the order that the compiler assigns the values.

How to initialize an array with three elements in Python?

The most common and convenient strategy is to declare and initialize the array simultaneously with curly brackets {} containing the elements of our array. The following code initializes an integer array with three elements - 13, 14, and 15:

What is an array in programming?

An array is a collection of items stored at contiguous memory locations. The idea is to store multiple items of the same type together. This makes it easier to calculate the position of each element by simply adding an offset to a base value, i.e., the memory location of the first element of the array (generally denoted by the name of the array).


1 Answers

For an array or slice literal, the index values must be constants. From the docs on "composite literals"

For array and slice literals the following rules apply:

  • Each element has an associated integer index marking its position in the array.
  • An element with a key uses the key as its index; the key must be a constant integer expression.
  • An element without a key uses the previous element's index plus one. If the first element has no key, its index is zero.

The literal characters in the example are untyped constants, which just happen to be written as a single rune literal. If you were to assign any of those values to a variable to use as the index, the code would not compile.

like image 78
JimB Avatar answered Dec 10 '22 10:12

JimB