Perbezaan utama antara fungsi bahasa Java dan Go ialah: Mencipta fungsi: Java memerlukan penetapan jenis secara eksplisit, manakala Go mempunyai inferens jenis. Bilangan parameter: Tetap dalam Java, pembolehubah dalam Go (parameter panjang pembolehubah). Bilangan nilai pulangan: Java hanya boleh mengembalikan satu, Go boleh mengembalikan berbilang (tuple). Lulus nilai dan lulus rujukan: Java lulus mengikut nilai, Go lulus dengan rujukan secara lalai.
Perbezaan antara fungsi Java dan fungsi bahasa Go
Ikhtisar
Terdapat perbezaan dalam pemprosesan fungsi antara dua bahasa pengaturcaraan Java dan Go. Artikel ini akan memperkenalkan perbezaan utama antara fungsi Java dan fungsi bahasa Go.
Buat fungsi
Dalam Java, fungsi diisytiharkan menggunakan kata kunci statik awam
, seperti yang ditunjukkan di bawah: public static
关键字,如下所示:
public static int sum(int a, int b) { return a + b; }
在 Go 语言中,函数声明以 func
func sum(a, b int) int { return a + b }
func< /code> Mulakan dengan kata kunci, seperti ini: func sum(a, b int) int {
return a + b
}
Salin selepas log masukSalin selepas log masukJenis inferensJava memerlukan spesifikasi eksplisit jenis parameter dan jenis nilai pulangan dalam pengisytiharan fungsi. Bahasa Go mempunyai fungsi inferens jenis yang boleh membuat kesimpulan jenis secara automatik berdasarkan nilai parameter. func sum(numbers ...int) int {
total := 0
for _, num := range numbers {
total += num
}
return total
}
Salin selepas log masukBilangan parameterBilangan parameter fungsi Java mesti dibetulkan. Bilangan parameter fungsi bahasa Go boleh berubah-ubah, yang dipanggil "parameter panjang pembolehubah". func minMax(numbers ...int) (int, int) {
min := numbers[0]
max := numbers[0]
for _, num := range numbers {
if num < min {
min = num
}
if num > max {
max = num
}
}
return min, max
}
Salin selepas log masukBilangan nilai pulanganFungsi Java hanya boleh mengembalikan satu nilai. Fungsi bahasa Go boleh mengembalikan berbilang nilai, dipanggil "tuples". // Java
public static void changeValue(int value) {
value = 100;
}
Salin selepas log masukPass by value dan pass by referenceFungsi Java menggunakan value pass, iaitu salinan nilai parameter diluluskan. Fungsi bahasa Go menggunakan hantaran rujukan secara lalai, iaitu rujukan parameter diluluskan. // Go
func changeValue(value *int) {
*value = 100
}
Salin selepas log masukpublic static int sum(int a, int b) {
return a + b;
}
public static void main(String[] args) {
int result = sum(10, 20);
System.out.println(result); // 输出:30
}
Salin selepas log masukKes praktikalBerikut ialah fungsi yang mengira hasil tambah dua nombor, menunjukkan perbezaan antara fungsi bahasa Java dan Go: Java
func sum(a, b int) int {
return a + b
}
func main() {
result := sum(10, 20)
println(result) // 输出:30
}
Salin selepas log masuk bahasa AsriGo Go boleh dilihat daripada contoh, parameter dan jenis nilai pulangan bagi fungsi Java mesti dinyatakan secara eksplisit, manakala fungsi bahasa Go menyokong jenis inferens dan parameter panjang berubah-ubah.
Atas ialah kandungan terperinci Apakah perbezaan antara fungsi Java dan fungsi bahasa Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!