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.