Rumah > pembangunan bahagian belakang > Golang > Satu artikel untuk memahami ruang letak golang secara menyeluruh

Satu artikel untuk memahami ruang letak golang secara menyeluruh

藏色散人
Lepaskan: 2023-03-16 15:47:02
ke hadapan
2694 orang telah melayarinya

Artikel ini membawakan anda pengetahuan yang berkaitan tentang golang terutamanya mengenai pemegang tempat di golang. Rakan-rakan yang berminat harus melihatnya.

Satu artikel untuk memahami ruang letak golang secara menyeluruh

xdm, terdapat aksara kawalan format semasa menulis bahasa C/C++, seperti %s, %d, %c, %p, dll.

Apabila menulis golang, terdapat juga watak kawalan format yang sepadan, juga dipanggil ruang letak Untuk menulis ruang letak ini, anda perlu mempunyai data yang sepadan dengannya Anda tidak boleh main-main

Pada asasnya pemegang tempat biasa

  • %s
  • %d
  • %v, %v+, %+v
  • %T, %q

Tulis demo untuk melihat kesan pemegang tempat di atas dan rupanya

type Animal struct {
    hobby string
}

func main() {

    name := "xiaomotong"
    age := 19
    hh := Animal{"basketball"}

    fmt.Printf("name = %s , age = %d , hh = %v\n\n", name, age, hh)
    fmt.Printf("hh = %+v , hh= %#v\n\n", hh, hh)
    fmt.Printf("name = %T , age = %T , hh = %T\n\n", name, age, hh)
    fmt.Printf("%q", 0x8989)
}
Salin selepas log masuk

Kesan pelaksanaan kod di atas adalah seperti berikut:

# go run main.go
name = xiaomotong , age = 19 , hh = {basketball}

hh = {hobby:basketball} , hh= main.Animal{hobby:"basketball"}

name = string , age = int , hh = main.Animal

'覉'
Salin selepas log masuk

Kita boleh lihat daripada kesan di atas:

%q mewakili nilai literal aksara yang dikelilingi oleh petikan tunggal, yang digunakan oleh Go Sintaks selamat dilepaskan Jika anda berminat dengan xdm, anda boleh cuba mencetak dan menyahpepijat untuk melihat kesannya

$s mewakili rentetan

$d mewakili perpuluhan. nombor

%v Menunjukkan format lalai

%+v menunjukkan bahawa apabila mencetak struktur, nama medan yang sepadan akan ditambah

%#v menunjukkan struktur data yang sepadan Perwakilan bahasa golang

Pemegang tempat yang kurang digunakan

  • %t
  • %b
  • %c
  • %U , %#U

Teruskan menulis demo untuk melihat kesan Geometri:

func main() {
    a := true
    num := 88
    uni := 0x8989

    fmt.Printf("%t\n", a)
    fmt.Printf("%b\n", num)
    fmt.Printf("%c\n", 0x8989)
    fmt.Printf("uni = %U , uni = %#U\n", uni, uni)
}
Salin selepas log masuk

Kesan pelaksanaan kod di atas adalah seperti berikut:

# go run main.go
true
1011000
覉
uni = U+8989 , uni = U+8989 '覉'
Salin selepas log masuk

Daripada kesan di atas kita boleh lihat:

%t Pemegang tempat yang mewakili Boolean

%b mewakili data binari

%c mewakili aksara yang diwakili oleh titik kod Unikod yang sepadan

%U bermakna data boleh ditukar kepada spesifikasi format Unikod, iaitu

%#U bermula dengan + bermakna data boleh ditukar ke dalam aksara yang sepadan dengan unicode. Teks dalam demo disebut

Gunakan ruang letak untuk asas dan titik terapung

  • %2d, %07d
  • %x, %#x
  • %f , %.3f
func main() {
    num := 888
    fNum := 888.99

    fmt.Printf("num = %2d , num = %07d\n", num, num)
    fmt.Printf("num = %x , num = %#x\n", num, num)
    fmt.Printf("num = %f  , num = %.3f\n", fNum, fNum)
}
Salin selepas log masuk

Kesan pelaksanaan kod di atas adalah seperti berikut:

# go run main.go
num = 888 , num = 0000888
num = 378 , num = 0x378
num = 888.990000  , num = 888.990
Salin selepas log masuk

Dari atas Kita boleh lihat kesannya:

%2d bermaksud jumlah 2 digit, jika kurang daripada 2 digit, tambah sifar dalam hadapannya

%07d bermaksud jumlah 7 digit, jika kurang daripada 7 Digit didahului dengan sifar

%x mewakili perenambelasan, semua huruf kecil

%#x mewakili perenambelasan, didahului dengan 0x

%f mewakili data jenis titik terapung, lalainya ialah mengekalkan 6 tempat perpuluhan

%. 3f mewakili data jenis titik terapung, mengekalkan 3 tempat perpuluhan

Pemegang tempat penuding

  • %p
  • %# p
func main() {
    ptr := "xiaomotong"
    fmt.Printf("ptr = %p , ptr = %#p\n", &ptr, &ptr)
}
Salin selepas log masuk

Kesan pelaksanaan kod di atas adalah seperti berikut:

# go run main.go
ptr = 0xc42000e1e0 , ptr = c42000e1e0
Salin selepas log masuk

%p mewakili alamat penuding heksadesimal, dengan 0x

Atas ialah kandungan terperinci Satu artikel untuk memahami ruang letak golang secara menyeluruh. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:learnku.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan