понедельник, 20 мая 2019 г.

Спецификация Go: литералы

Целочисленные литералы (Integer literals)

Целочисленный литерал - это последовательность цифр, представляющая целочисленную константу. Необязательный префикс устанавливает недесятичное основание: 0 для восьмеричного, 0x или 0X для шестнадцатеричного. В шестнадцатеричных литералах буквы a-f и A-F представляют значения от 10 до 15.

int_lit     = decimal_lit | octal_lit | hex_lit .
decimal_lit = ( "1" … "9" ) { decimal_digit } .
octal_lit   = "0" { octal_digit } .
hex_lit     = "0" ( "x" | "X" ) hex_digit { hex_digit } .

Примеры:

42
0600
0xBadFace
170141183460469231731687303715884105727

Литералы с плавающей точкой (Floating-point literals)

Литерал с плавающей точкой является десятичным представлением константы с плавающей точкой. Он имеет целочисленную часть, десятичную точку, дробную часть и экспоненту. Целая и дробная части содержат десятичные цифры; часть экспоненты представляет собой e или E, за которыми следует десятичный показатель степени с необязательной подписью. Одна из целочисленной части или дробной части может быть исключена; одна из десятичной точки или показатель степени могут быть исключены.

float_lit = decimals "." [ decimals ] [ exponent ] |
            decimals exponent |
            "." decimals [ exponent ] .
decimals  = decimal_digit { decimal_digit } .
exponent  = ( "e" | "E" ) [ "+" | "-" ] decimals .

Примеры:

0.
72.40
072.40  // == 72.40
2.71828
1.e+0
6.67428e-11
1E6
.25
.12345E+5

Мнимые литералы (Imaginary literals)

Мнимый литерал - это десятичное представление мнимой части комплексной константы. Он состоит из литерального или десятичного целого числа с плавающей точкой, за которым следует строчная буква i.

imaginary_lit = (decimals | float_lit) "i" .

Примеры:

0i
011i  // == 11i
0.i
2.71828i
1.e+0i
6.67428e-11i
1E6i
.25i
.12345E+5i

Примечание: комплексное число (что такое мнимая часть, Википедия)


Читайте также:


Комментариев нет:

Отправить комментарий