Idź - stałe

Stałe odnoszą się do stałych wartości, których program nie może zmienić podczas wykonywania. Te stałe wartości są również nazywaneliterals.

Stałe mogą mieć dowolny z podstawowych typów danych, takich jak stała całkowita, stała zmiennoprzecinkowa, stała znakowa lub literał ciągu . Istnieją również stałe wyliczeniowe.

Stałe są traktowane jak zwykłe zmienne, z tą różnicą, że ich wartości nie mogą być modyfikowane po ich zdefiniowaniu.

Literały całkowite

Literał liczby całkowitej może być stałą dziesiętną, ósemkową lub szesnastkową. Prefiks określa podstawę lub podstawę: 0x lub 0X dla szesnastkowej, 0 dla ósemkowej i nic dla dziesiętnej.

Literał liczby całkowitej może również mieć sufiks będący kombinacją U i L, odpowiednio dla unsigned i long. Sufiks może być pisany wielką lub małą literą i może mieć dowolną kolejność.

Oto kilka przykładów literałów całkowitych -

212         /* Legal */
215u        /* Legal */
0xFeeL      /* Legal */
078         /* Illegal: 8 is not an octal digit */
032UU       /* Illegal: cannot repeat a suffix */

Poniżej znajdują się inne przykłady różnych typów literałów całkowitych -

85         /* decimal */
0213       /* octal */
0x4b       /* hexadecimal */
30         /* int */
30u        /* unsigned int */
30l        /* long */
30ul       /* unsigned long */

Literały zmiennoprzecinkowe

Literał zmiennoprzecinkowy ma część całkowitą, przecinek dziesiętny, część ułamkową i część wykładniczą. Literały zmiennoprzecinkowe można przedstawiać w postaci dziesiętnej lub wykładniczej.

Przedstawiając przy użyciu postaci dziesiętnej, należy uwzględnić kropkę dziesiętną, wykładnik lub jedno i drugie, a podczas przedstawiania w postaci wykładniczej należy uwzględnić część całkowitą, część ułamkową lub obie. Podpisany wykładnik jest wprowadzany przez e lub E.

Oto kilka przykładów literałów zmiennoprzecinkowych -

3.14159       /* Legal */
314159E-5L    /* Legal */
510E          /* Illegal: incomplete exponent */
210f          /* Illegal: no decimal or exponent */
.e55          /* Illegal: missing integer or fraction */

Sekwencja ewakuacyjna

Gdy pewne znaki są poprzedzone odwrotnym ukośnikiem, będą miały specjalne znaczenie w Go. Są one znane jako kody sekwencji ucieczki, które są używane do reprezentowania nowej linii (\ n), tabulacji (\ t), backspace itp. Tutaj masz listę niektórych takich kodów sekwencji ucieczki -

Sekwencja ewakuacyjna Znaczenie
\\ \ postać
\ ' ' postać
\ " " postać
\? ? postać
\za Alert lub dzwonek
\b Backspace
\fa Form feed
\ n Nowa linia
\ r Powrót karetki
\ t Zakładka pozioma
\ v Zakładka pionowa
\ ooo Liczba ósemkowa od jednej do trzech cyfr
\ xhh. . . Liczba szesnastkowa składająca się z jednej lub więcej cyfr

Poniższy przykład pokazuje, jak używać \t w programie -

package main

import "fmt"

func main() {
   fmt.Printf("Hello\tWorld!")
}

Kiedy powyższy kod jest kompilowany i wykonywany, daje następujący wynik -

Hello World!

Literały smyczkowe w ruchu

Literały łańcuchowe lub stałe są ujęte w podwójne cudzysłowy „”. Ciąg zawiera znaki podobne do literałów znakowych: zwykłe znaki, sekwencje ucieczki i znaki uniwersalne.

Możesz podzielić długi wiersz na wiele wierszy, używając literałów łańcuchowych i oddzielając je białymi znakami.

Oto kilka przykładów literałów ciągów. Wszystkie trzy formy są identycznymi ciągami.

"hello, dear"

"hello, \

dear"

"hello, " "d" "ear"

Const słowo

Możesz użyć const prefiks do deklarowania stałych o określonym typie w następujący sposób -

const variable type = value;

Poniższy przykład pokazuje, jak używać const słowo kluczowe -

package main

import "fmt"

func main() {
   const LENGTH int = 10
   const WIDTH int = 5   
   var area int

   area = LENGTH * WIDTH
   fmt.Printf("value of area : %d", area)   
}

Kiedy powyższy kod jest kompilowany i wykonywany, daje następujący wynik -

value of area : 50

Zauważ, że dobrą praktyką programistyczną jest definiowanie stałych WIELKIMI LITERAMI.