變量聲明與賦值
十年的青海網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都全網(wǎng)營銷的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整青海建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“青海網(wǎng)站設(shè)計”,“青海網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
Java:
int i; // 聲明 int j = 1; // 聲明+賦值
Go:
var i int // 聲明 i := 1 // 聲明+賦值
1、變量聲明:var是關(guān)鍵字,格式:var 變量名稱 變量類型
2、變量聲明與賦值: := 符號支持自動推導類型
異常處理
Java:
Go:
go的異常是做為函數(shù)返回值的,通過判斷是否存在error,來判斷異常。 (不能夠像Java一樣拋出異常)
go的if語句支持初始條件,即先執(zhí)行if之后的語句(分號之前),再執(zhí)行分號之后的判斷語句,此語句經(jīng)常用于異常處理。
go的大括號必須在行末go函數(shù)或者變量為”公有”,首字母大寫,”私有”則小寫。
參數(shù)傳遞
change函數(shù)是傳遞的對象,函數(shù)調(diào)用的時候,會拿到對象的拷貝。
change2函數(shù)是傳遞的指針,函數(shù)調(diào)用的時候,會拿到一個指向改對象的指針。
go沒有引用傳遞
多態(tài)
此例有點長,是一個求面積的問題,針對與圓形和矩形兩種類型
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來定義對象的一組行為。 // 只要是實現(xiàn)了interface中的所有的method的結(jié)構(gòu)體,就可以認為是這個interface的實例,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()) }
以上就是golang與java語法上的區(qū)別的詳細內(nèi)容,更多請關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!
文章名稱:go語言和java語法上有什么區(qū)別
路徑分享:http://bm7419.com/article40/pcsgho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、動態(tài)網(wǎng)站、營銷型網(wǎng)站建設(shè)、商城網(wǎng)站、品牌網(wǎng)站制作、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)