Rumah > pembangunan bahagian belakang > Golang > Projek sumber terbuka jenis nilai pulangan Go language

Projek sumber terbuka jenis nilai pulangan Go language

WBOY
Lepaskan: 2024-04-29 11:36:01
asal
1160 orang telah melayarinya

Projek sumber terbuka inferens jenis nilai pulangan bahasa Go boleh memudahkan pembangunan bahasa Go. Projek-projek ini termasuk: 1. goreflect: Gunakan refleksi untuk mengenal pasti fungsi dan membuat kesimpulan jenis nilai pulangan: Gunakan antara muka jenis untuk menyemak nilai dan membuat kesimpulan jenis nilai pulangan 3. (*fungsi). oleh perpustakaan exp/slices Fungsi menyimpulkan jenis nilai pulangan.

Projek sumber terbuka jenis nilai pulangan Go language

Projek sumber terbuka untuk inferens jenis nilai pulangan bahasa Go

Inferens jenis nilai pulangan bertujuan untuk memudahkan proses pembangunan bahasa Go dengan membuat kesimpulan secara automatik jenis nilai pulangan sesuatu fungsi. Berikut ialah beberapa projek sumber terbuka yang menyediakan pelaksanaan fungsi ini:

1 goreflect

  • https://github.com/joel/goreflect
  • Gunakan refleksi untuk mengenal pasti fungsi dan membuat kesimpulan berdasarkan jenis nilai tandatangan fungsi. .

Kes praktikal:

package main

import (
    "fmt"

    "github.com/joel/goreflect"
)

func getSum(a, b int) {
    fmt.Println("The sum of", a, "and", b, "is", a+b)
}

func main() {
    returnType := goreflect.FuncSig(getSum).Returns()
    fmt.Println("The return type of getSum is", returnType)
}
Salin selepas log masuk

2 gotypes

  • https://github.com/gobuffalo/gotypes
  • Gunakan nilai pulangan secara inferens untuk menaip nilai secara dinamik. jenis nilai.

Kes praktikal:

package main

import (
    "fmt"

    "github.com/gobuffalo/gotypes"
)

type MyString string

func getStringValue(s MyString) {
    fmt.Println("The value of s is", s)
}

func main() {
    returnType, _ := gotypes.Guess(getStringValue)
    fmt.Println("The return type of getStringValue is", returnType)
}
Salin selepas log masuk

3 (*fungsi).Mengembalikan

  • https://godoc.org/golang.org/x/exp/slices#function.Returns
  • Fungsi pembantu yang disediakan oleh pustaka slices menyimpulkan jenis nilai pulangan berdasarkan tandatangan fungsi.

Kes praktikal:

package main

import (
    "fmt"

    "golang.org/x/exp/slices"
)

func getDifference(a, b int) int {
    return a - b
}

func main() {
    returnType := slices.FuncSig(getDifference).Returns()
    fmt.Println("The return type of getDifference is", returnType)
}
Salin selepas log masuk

Atas ialah kandungan terperinci Projek sumber terbuka jenis nilai pulangan Go language. 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