pakej penukaran jenis golang

王林
Lepaskan: 2023-05-13 11:31:36
asal
446 orang telah melayarinya

Dalam beberapa tahun kebelakangan ini, Golang (bahasa Go) telah digunakan secara meluas dalam pelbagai bidang, terutamanya dalam pembangunan back-end, di mana kecekapan, kesesuaian, keselamatan dan ciri-ciri lain sangat digemari. Di Golang, penukaran jenis melibatkan banyak aspek, termasuk fungsi penukaran jenis, alias jenis, penegasan jenis antara muka, dsb. Antaranya, fungsi penukaran jenis adalah salah satu kaedah penukaran jenis yang paling biasa digunakan Di bawah ini kami akan memperkenalkan secara terperinci fungsi penukaran jenis yang berkaitan di Golang.

1. Fungsi penukaran jenis

Fungsi penukaran jenis sering dipanggil penukar jenis, dan ia digunakan untuk menukar nilai satu jenis kepada jenis lain. Fungsi penukaran jenis yang paling biasa dalam Golang termasuk string(), int(), float32(), float64(), dsb. Di bawah ini kami akan memperkenalkan penggunaan fungsi penukaran ini satu persatu.

  1. fungsi string()

fungsi string() digunakan untuk menukar jenis lain kepada jenis rentetan. Sintaksnya ialah:

func string(v interface{}) string
Salin selepas log masuk

Pelaksanaannya sangat mudah:

func string(v interface{}) string {
    switch v := v.(type) {
    case string:
        return v
    case int:
        return strconv.Itoa(v)
    case float64:
        return strconv.FormatFloat(v, 'g', -1, 64)
    // ...
    default:
        return fmt.Sprintf("%v", v)
    }
}
Salin selepas log masuk

Dalam kod di atas, v ialah sebarang jenis. Apabila v itu sendiri sudah daripada jenis rentetan, hanya kembalikannya terus. Apabila v ialah jenis int, gunakan fungsi strconv.Itoa() untuk menukarnya kepada jenis rentetan. Begitu juga, apabila v ialah jenis float64, gunakan fungsi strconv.FormatFloat() untuk menukarnya kepada jenis rentetan. Akhir sekali, jika v daripada jenis lain, ia ditukar kepada jenis rentetan menggunakan fungsi fmt.Sprintf().

  1. fungsi int()

fungsi int() digunakan untuk menukar jenis lain kepada jenis int. Sintaksnya ialah:

func int(v interface{}) int
Salin selepas log masuk

Pelaksanaannya adalah seperti berikut:

func int(v interface{}) int {
    switch v := v.(type) {
    case string:
        i, err := strconv.Atoi(v)
        if err != nil {
            return 0
        }
        return i
    case int:
        return v
    case float64:
        return int(v)
    // ...
    default:
        return 0
    }
}
Salin selepas log masuk

Dalam kod di atas, v ialah sebarang jenis. Apabila v ialah jenis rentetan, gunakan fungsi strconv.Atoi() untuk menukarnya kepada jenis int dan mengembalikan hasil yang ditukar. Apabila v adalah jenis int, nilai v dikembalikan secara langsung. Apabila v daripada jenis float64, gunakan fungsi int() untuk menukarnya kepada menaip int, dan akhirnya mengembalikan hasil yang ditukar. Apabila v daripada jenis lain, nilai 0 dikembalikan.

  1. fungsi float32()

fungsi float32() digunakan untuk menukar jenis lain kepada jenis float32. Sintaksnya ialah:

func float32(v interface{}) float32
Salin selepas log masuk

Pelaksanaannya adalah seperti berikut:

func float32(v interface{}) float32 {
    switch v := v.(type) {
    case string:
        f, err := strconv.ParseFloat(v, 32)
        if err != nil {
            return 0
        }
        return float32(f)
    case float32:
        return v
    case float64:
        return float32(v)
    // ...
    default:
        return 0
    }
}
Salin selepas log masuk

Dalam kod di atas, v ialah sebarang jenis. Apabila v daripada jenis rentetan, gunakan fungsi strconv.ParseFloat() untuk menukarnya kepada taip float64 dan tukarkannya kepada taip float32 sebelum mengembalikannya. Apabila v adalah jenis float32, nilai v dikembalikan secara langsung. Apabila v daripada jenis float64, gunakan fungsi float32() untuk menukarnya kepada menaip float32 dan mengembalikan hasil yang ditukar. Apabila v daripada jenis lain, nilai 0 dikembalikan.

  1. fungsi float64()

fungsi float64() digunakan untuk menukar jenis lain kepada jenis float64. Sintaksnya ialah:

func float64(v interface{}) float64
Salin selepas log masuk

Pelaksanaannya adalah seperti berikut:

func float64(v interface{}) float64 {
    switch v := v.(type) {
    case string:
        f, err := strconv.ParseFloat(v, 64)
        if err != nil {
            return 0
        }
        return f
    case float32:
        return float64(v)
    case float64:
        return v
    // ...
    default:
        return 0
    }
}
Salin selepas log masuk

Dalam kod di atas, v ialah sebarang jenis. Apabila v daripada jenis rentetan, gunakan fungsi strconv.ParseFloat() untuk menukarnya kepada menaip float64 dan mengembalikan hasil yang ditukar. Apabila v daripada jenis float32, gunakan fungsi float64() untuk menukarnya kepada menaip float64 dan mengembalikan hasil yang ditukar. Apabila v daripada jenis float64, nilai v dikembalikan secara langsung. Apabila v daripada jenis lain, nilai 0 dikembalikan.

2. Jenis alias

Jenis alias ialah satu lagi kaedah penukaran jenis biasa di Golang. Ia merujuk kepada cara jenis ditakrifkan sebagai nama lain, contohnya:

type MyInt int
Salin selepas log masuk

Dalam contoh di atas, jenis int ditakrifkan sebagai jenis MyInt. Ini akan membolehkan kami menggunakan jenis MyInt secara langsung untuk penukaran jenis.

3. Penegasan jenis antara muka

Penegasan jenis antara muka ialah cara untuk menukar jenis antara muka kepada jenis lain. Sintaksnya ialah:

v.(T)
Salin selepas log masuk

di mana v ialah pembolehubah jenis antara muka dan T ialah jenis sasaran yang hendak ditukar. Berikut ialah contoh:

var v interface{}
v = 42
if i, ok := v.(int); ok {
    fmt.Println(i)
}
Salin selepas log masuk

Dalam kod di atas, pembolehubah antara muka kosong v pertama kali ditakrifkan dan diberikan nilai 42. Kedua, tukar v kepada jenis int melalui penegasan jenis antara muka, dan tetapkan nilai yang ditukar kepada pembolehubah i. Akhir sekali, gunakan pembolehubah ok untuk menentukan sama ada penukaran berjaya.

Ringkasan

Penukaran jenis di Golang merangkumi banyak kaedah, antaranya fungsi penukaran jenis merupakan kaedah yang paling biasa digunakan Kami telah memperkenalkan empat fungsi penukaran yang biasa digunakan. Selain itu, jenis alias dan penegasan jenis antara muka juga biasa digunakan kaedah penukaran jenis di Golang. Menguasai penggunaan penukaran jenis ini akan membantu kami membangunkan Golang dengan lebih baik.

Atas ialah kandungan terperinci pakej penukaran jenis golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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