久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      golang與java語法上的區(qū)別

      golang與java語法上的區(qū)別

      變量聲明與賦值

      Java:

      int i;    // 聲明 int j = 1; // 聲明+賦值

      Go:

      var i int    // 聲明 i := 1        // 聲明+賦值

      1、變量聲明:var是關(guān)鍵字,格式:var 變量名稱 變量類型

      2、變量聲明與賦值: := 符號支持自動推導(dǎo)類型

      異常處理

      Java:

      golang與java語法上的區(qū)別

      Go:

      golang與java語法上的區(qū)別

      go的異常是做為函數(shù)返回值的,通過判斷是否存在error,來判斷異常。 (不能夠像Java一樣拋出異常)

      go的if語句支持初始條件,即先執(zhí)行if之后的語句(分號之前),再執(zhí)行分號之后的判斷語句,此語句經(jīng)常用于異常處理。

      go的大括號必須在行末go函數(shù)或者變量為”公有”,首字母大寫,”私有”則小寫。

      參數(shù)傳遞

      golang與java語法上的區(qū)別

      change函數(shù)是傳遞的對象,函數(shù)調(diào)用的時候,會拿到對象的拷貝。

      change2函數(shù)是傳遞的指針,函數(shù)調(diào)用的時候,會拿到一個指向改對象的指針。

      go沒有引用傳遞

      多態(tài)

      此例有點(diǎn)長,是一個求面積的問題,針對與圓形和矩形兩種類型

      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來定義對象的一組行為。 //  只要是實(shí)現(xiàn)了interface中的所有的method的結(jié)構(gòu)體,就可以認(rèn)為是這個interface的實(shí)例,Duck typing         area() float64 } func (r Rectangle) /* 函數(shù)的接受者Receiver */ area() float64 /* 返回值類型*/ {             return r.width * r.height } func (c Circle) /* 函數(shù)的另一個接受者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()) }

      相關(guān)文章教程:golang教程

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號