Golang'da Constant veya Const nedir ? Go'da sabitlerin kullanımı hakkında bilmeniz gerekenler şunlardır .
Adından da anlaşılacağı üzere sabit, sabit anlamına gelir. Programlama dillerinde de durum aynıdır; yani bir sabitin değeri bir kez tanımlandıktan sonra bir daha değiştirilemez. Sabit, tam sayı sabiti, dinamik sabit, karakter sabiti veya dize gibi herhangi bir temel veri tipinde olabilir.

Nasıl bildirilir: Sabitler değişkenler gibi bildirilir ancak belirli bir veri türüne sahip sabitleri bildirmek için önek olarak const anahtar sözcüğü kullanılır. Sabitler “: = ” sözdizimini kullanarak bildirilemez .
Örneğin:
package main
import "fmt"
const PI = 3.14
func main()
{
const GFG = "Quantrimang"
fmt.Println("Hello", GFG)
fmt.Println("Happy", PI, "Day")
const Correct= true
fmt.Println("Go rules?", Correct)
}
Sonuç:
Hello Quantrimang
Happy 3.14 Day
Go rules? true
Golang'daki sabitler hakkında bilinmesi gerekenler
Türü olmayan ve türü olan sayısal sabitler
Yazılı sabitler, yalnızca aynı tiplerle etkileşime girebilen değişmez değişkenler gibi davranırken, türsüz sabitler, benzer tiplerle etkileşime girebilen değişmez sabitler gibi davranır. Go'da sabitler tipli veya tipsiz olarak tanımlanabilir. Aşağıdaki örnekler yazılmış ve yazılmamış, adlandırılmış ve adlandırılmamış sayısal sabitleri göstermektedir.
const untypedInteger = 123
const untypedFloating = 123.12
const typedInteger int = 123
const typedFloatingPoint float64 = 123.12
Go Dilindeki sabitlerin listesi şu şekildedir:
- Sabitler (Tamsayı Sabitleri, Dinamik Sabitler, Karmaşık Sabitler)
- Karakter dizisi
- Boole sabiti
Sayı sabiti
Sayısal sabitler yüksek hassasiyete sahip değerlerdir. Go statik tipli bir dil olduğundan sayısal tipleri birleştiren işlemlere izin vermez. float64'e ekleyemezsiniz int, hatta int32'e ekleyemezsiniz int. Ancak yine de 1e6*time.Secondveya math.Exp(1)veya hatta yazmak hala geçerlidir 1<>. Go'da sabitler, değişkenlerin aksine, normal sayılar gibi davranır.
Sayısal sabitler üç tiptedir:
- tam sayı
- kayan nokta
- karmaşık
Tam sayı sabiti:
- Önek tabanı belirtir: onaltılık için 0x veya 0X, sekizlik için 0 ve ondalık için hiçbir şey.
- Bir tamsayı sabiti, unsigned ve long için sırasıyla U (büyük harf) ve L (küçük harf) harflerinin birleşiminden oluşan bir eke de sahip olabilir .
- Ondalık, sekizlik veya onaltılık bir sabit olabilir.
- Bir int , 64 bitlik tamsayıları ve bazen daha azını depolayabilir.
İşte Tamsayı Sabitlerine dair bazı örnekler:
85 /* thập phân */
0213 /* bát phân */
0x4b /* thập lục phân */
30 /* int */
30u /* unsigned int */
30l /* long */
30ul /* unsigned long */
212 /* Hợp lệ */
215u /* Hợp lệ */
0xFeeL /* Hợp lệ */
078 /* Không hợp lệ: 8 không phải là chữ số bát phân */
032UU /* Không hợp lệ: không thể lặp lại hậu tố */
Karmaşık sabitler:
Karmaşık sabitler kayan nokta sabitlerine çok benzer şekilde çalışır. Tam sayı sabitlerinden (veya parametrelerden) oluşan sıralı bir çift veya reel çifttir. Sabitler virgülle ayrılır ve sayı çiftleri parantez içine yerleştirilir. Birinci sabit reel kısım, ikinci sabit ise sanal kısımdır. Karmaşık bir sabit olan COMPLEX*8, 8 bayt depolama alanı kullanır.
Örneğin:
(0.0, 0.0) (-123.456E+30, 987.654E-29)
Dinamik tip sabiti:
- Gerçek sayı sabitlerinin tam sayı kısmı, ondalık kısmı, kesirli kısmı ve üslü kısmı vardır.
- Ondalık veya üstel formda gerçek bir sabit olarak gösterilebilir.
- Ondalık biçimde ifade edildiğinde, ondalık nokta, üs veya her ikisini de içermesi gerekir.
- Üstel biçimde ifade edildiğinde ise mutlaka tam sayı kısmı, kesirli kısım veya her ikisini birden içermelidir.
Örneğin:
3.14159 /* Hợp lệ */
314159E-5L /* Hợp lệ */
510E /* Không hợp lệ: số mũ không đầy đủ */
210f /* Không hợp lệ: không có số thập phân hoặc số mũ */
.e55 /* Không hợp lệ: thiếu số nguyên hoặc phân số */
Karakter dizisi
- Go iki tür dize sabitini destekler, yani
” ”(çift tırnak stili) ve ‘ ‘(ters tırnak stili).
+Dizeler ve operatörleri ile birleştirilebilir +=.
- Dizeler, gerçek karakterlere benzer karakterler içerir: düz karakterler, kaçış dizileri ve evrensel karakterler. Ve bu, tarzı olmayan bir karakter.
” ”Dize türlerinin sıfır değeri, sabitlerle veya ”sabitlerle temsil edilebilen boş dizedir .
- Tüm dize türleri , benzer türleri karşılaştırmak için
==, ve gibi operatörler kullanılarak karşılaştırılabilir!=
Sözdizimi:
kiểu _string struct {
các phần tử *byte // các byte cơ bản
len int // số byte
}
Örneğin:
"hello, quantrimang"
"hello, \
quantrimang"
"hello, " "quan" "trimang"
Burada her üç ifade de aynıdır, yani belirli bir tipleri yoktur.
Örneğin:
package main
import "fmt"
func main()
{
const A = "GFG"
var B = "GeeksforGeeks"
// Chuỗi Concat.
var helloWorld = A+ " " + B
helloWorld += "!"
fmt.Println(helloWorld)
// Chuỗi so sánh.
fmt.Println(A == "GFG")
fmt.Println(B < a)="">
Sonuç:
GFG Quantrimang!
true
false
Zaman karmaşıklığı: O(1)
Yardımcı alan: O(1)
Boole sabiti
Boole sabitleri dize sabitlerine benzer. Dize sabitleriyle aynı kurallar geçerlidir. Tek farkı, trueve tipinde olmayan iki const'un olmasıdır false.
package main
import "fmt"
const Pi = 3.14
func main()
{
const trueConst = true
// Định nghĩa kiểu bằng từ khóa type
type myBool bool
var defaultBool = trueConst // được phép
var customBool myBool = trueConst // được phép
// defaultBool = customBool // không được phép
fmt.Println(defaultBool)
fmt.Println(customBool)
}
Sonuç:
true
true
Zaman karmaşıklığı: O(1)
Yardımcı alan: O(1)
Go'da Sabitler: Go'da karakter, dize, Boolean ve sayısal sabitler bulunur. Const sabit bir değer tanımlar. constBir değişken olduğunda bir ifade ortaya çıkabilir ve böylece sabit bir hassasiyete sahip olmadan aritmetik işlemler gerçekleştirilebilir.
// Minh họa hằng số bằng cách dùng go.
package main
import (
"fmt"
"math"
)
const s string = "Quantrimang"
func main() {
fmt.Println(s)
const n = 5
const d = 3e10 / n
fmt.Println(d)
fmt.Println(int64(d))
fmt.Println(math.Sin(n))
}
Sonuç:
Quantrimang
6e+09
6000000000
-0.9589242746631385
Zaman karmaşıklığı: O(1)
Yardımcı alan: O(1)
Birden fazla sabiti aynı anda tanımlamak istiyorsanız, aşağıda gösterildiği gibi parantez bloğunu kullanarak bunu yapabilirsiniz.
package main
import "fmt"
const (
GFG = "Quantrimang"
Correct = true
Pi = 3.14
)
// Hàm chính
func main() {
fmt.Println("value of GFG : ", GFG)
fmt.Println("value of Correct : ", Correct)
fmt.Println("value of Pi : ", Pi)
}
Sonuç:
value of GFG : Quantrimang
value of Correct : true
value of Pi : 3.14