The difference in syntax between golang and java
Variable declaration and assignment
Java:
int i; // 声明 int j = 1; // 声明+赋值
Go:
var i int // 声明 i := 1 // 声明+赋值
1. Variable declaration :var is a keyword, format: var variable name variable type
2. Variable declaration and assignment: := symbol supports automatic derivation of type
Exception handling
Java:
Go:
Go exceptions are used as function return values , by judging whether there is an error, to judge the exception. (Cannot throw exceptions like Java)
Go's if statement supports initial conditions, that is, first execute the statement after if (before the semicolon), and then execute the judgment statement after the semicolon. This statement is often used for exception handling.
The curly braces of go must be at the end of the line. The go function or variable is "public", with the first letter in uppercase, and "private" in lowercase.
Parameter passing
The change function is the object passed. When the function is called, a copy of the object will be obtained. .
The change2 function is a passed pointer. When the function is called, a pointer to the changed object will be obtained.
go does not pass by reference
Polymorphism
This example is a bit long, it is a problem of finding the area, for circles and rectangles Type
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()) }
Related article tutorial:golang tutorial
The above is the detailed content of The difference in syntax between golang and java. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



H5. The main difference between mini programs and APP is: technical architecture: H5 is based on web technology, and mini programs and APP are independent applications. Experience and functions: H5 is light and easy to use, with limited functions; mini programs are lightweight and have good interactiveness; APPs are powerful and have smooth experience. Compatibility: H5 is cross-platform compatible, applets and APPs are restricted by the platform. Development cost: H5 has low development cost, medium mini programs, and highest APP. Applicable scenarios: H5 is suitable for information display, applets are suitable for lightweight applications, and APPs are suitable for complex functions.

Export password-protected PDF in Photoshop: Open the image file. Click "File"> "Export"> "Export as PDF". Set the "Security" option and enter the same password twice. Click "Export" to generate a PDF file.

Detailed explanation of XPath search method under DOM nodes In JavaScript, we often need to find specific nodes from the DOM tree based on XPath expressions. If you need to...

The necessity of registering VueRouter in the index.js file under the router folder When developing Vue applications, you often encounter problems with routing configuration. Special...

Go language performs well in building efficient and scalable systems. Its advantages include: 1. High performance: compiled into machine code, fast running speed; 2. Concurrent programming: simplify multitasking through goroutines and channels; 3. Simplicity: concise syntax, reducing learning and maintenance costs; 4. Cross-platform: supports cross-platform compilation, easy deployment.

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHP is suitable for web development, with simple syntax and high execution efficiency. 2. Python is suitable for data science and machine learning, with concise syntax and rich libraries.

There are differences in the promotion methods of H5 and mini programs: platform dependence: H5 depends on the browser, and mini programs rely on specific platforms (such as WeChat). User experience: The H5 experience is poor, and the mini program provides a smooth experience similar to native applications. Communication method: H5 is spread through links, and mini programs are shared or searched through the platform. H5 promotion methods: social sharing, email marketing, QR code, SEO, paid advertising. Mini program promotion methods: platform promotion, social sharing, offline promotion, ASO, cooperation with other platforms.

Discussion on problems when using RxJS to operate on elements in streams in learning and using RxJS...
