Heim > Artikel > Backend-Entwicklung > Der Unterschied in der Syntax zwischen Golang und Java
Variablendeklaration und -zuweisung
Java:
int i; // 声明 int j = 1; // 声明+赋值
Go:
var i int // 声明 i := 1 // 声明+赋值
1. Variablendeklaration :var ist ein Schlüsselwort, Format: var Variablenname Variablentyp
2. Variablendeklaration und -zuweisung: := Symbol unterstützt die automatische Ableitung des Typs
Ausnahmebehandlung
Java:
Go:
Go-Ausnahmen werden als Funktionsrückgabewerte verwendet. Beurteilen Sie die Ausnahme, indem Sie beurteilen, ob ein Fehler vorliegt. (Kann keine Ausnahmen wie Java auslösen)
Gos if-Anweisung unterstützt Anfangsbedingungen, das heißt, führen Sie zuerst die Anweisung nach if (vor dem Semikolon) aus und führen Sie dann die Urteilsanweisung nach dem Semikolon aus. Diese Anweisung wird häufig verwendet zur Ausnahmebehandlung.
Die geschweiften Klammern von go müssen am Ende der Zeile stehen. Die go-Funktion oder -Variable ist „öffentlich“, wobei der erste Buchstabe in Großbuchstaben und „privat“ in Kleinbuchstaben geschrieben ist.
Parameterübergabe
Die Änderungsfunktion ist das übergebene Objekt. Wenn die Funktion aufgerufen wird, wird eine Kopie davon übergeben Objekt wird erhalten.
Die Funktion „change2“ ist ein übergebener Zeiger. Wenn die Funktion aufgerufen wird, erhalten Sie einen Zeiger auf das geänderte Objekt.
go geht nicht als Referenz weiter
Polymorphismus
Dieses Beispiel ist etwas lang, es ist ein Problem, den Bereich für beide Kreise zu finden und Rechtecke Typ
java:
java.lang.Math;public class Polymorphism{ public static class Rectangle implements Areable{ //矩形 double width; double height; public Rectangle(double width,double height){ this.width = width; this.height = height;} public double area(){ return width * height;} } public static class Circle implements Areable{ // 圆形 double radius; public Circle(double radius){ this.radius = radius;} public double area(){ return radius * radius * Math.PI;} } public static interface Areable{ double area(); }public static void main(String[] args){ Areable arear = new Rectangle(5.0,5.0); Areable areac = new Circle(2.5); System.out.println(arear.area()); System.out.println(areac.area()); } }
Go:
package main import ( "fmt" "math" ) type Rectangle struct { // 矩形 width float64 height float64 } type Circle struct { // 圆形 radius float64 } type Areable interface{ // 接口:一组method签名的组合,通过interface来定义对象的一组行为。 // 只要是实现了interface中的所有的method的结构体,就可以认为是这个interface的实例,Duck typing area() float64 } func (r Rectangle) /* 函数的接受者Receiver */ area() float64 /* 返回值类型*/ { return r.width * r.height } func (c Circle) /* 函数的另一个接受者Receiver */ area() float64 /* 返回值类型*/{ return c.radius * c.radius * math.Pi } func main(){ ra := Rectangle{5,5} ca := Circle{2.5} fmt.Println(ra.area()) fmt.Println(ca.area()) }
Tutorial zu verwandten Artikeln:Golang-Tutorial
Das obige ist der detaillierte Inhalt vonDer Unterschied in der Syntax zwischen Golang und Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!