国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

探索Google Go語言(一)

開發(fā) 前端
本文不是教程,本身只是為了讓大家對(duì)Google Go語言有進(jìn)一步的了解。極力維持語言特性的簡潔,力求小而精,越深入go,你就會(huì)發(fā)現(xiàn)go真的是太簡潔了。

看到網(wǎng)上有些人說Go是python 4.0,對(duì)此看法,我不敢茍同。從本質(zhì)上講,這兩個(gè)是完全不同的語言。go是靜態(tài)型編譯語言,python是動(dòng)態(tài)型解釋語言(腳本語言);go的執(zhí)行速度屬于微秒級(jí),可精確到納秒,而python屬于毫秒級(jí),根本無法比;go完全支持指針,python不支持,只有引用。閑話不多說,下面就來看看go長得啥樣子。如果你有C/C++,JAVA,C#,python等語言基礎(chǔ),對(duì)linux有些了解,我相信你一定會(huì)很快會(huì)對(duì)go有初步了解。

  老規(guī)矩,先來個(gè)hello world。

  hello.go

  1. package main //聲明本文件的package名    
  2. import "fmt" //import語言的fmt庫——用于輸出    
  3. func main() { 
  4.   var str string = "hello world" 
  5.   //str := "hello world" 
  6.   //var str = "hello word" 
  7.    fmt.Println(str)  
  運(yùn)行

  有兩種方式可以解釋運(yùn)行

  1、先編譯:go build hello.go

    再運(yùn)行:./hello

  2、也可以直接進(jìn)行編譯運(yùn)行(其實(shí)下面這個(gè)命令實(shí)際是編譯成hello.out再執(zhí)行):go run hello.go

  對(duì)于習(xí)慣了C系列語言的同學(xué)來說,會(huì)對(duì)go的語法很不習(xí)慣。***,go沒有使用“;”作為語句結(jié)束標(biāo)志;第二,go是變量在類型前面,變量初始化還可以如注釋的那兩行語句,不用指定類型,go編譯器可以從初始化表達(dá)式的右值導(dǎo)出該變量應(yīng)該聲明為哪種類型,這讓go看起來有點(diǎn)像動(dòng)態(tài)語言,這也可能為什么有人說它是python 4.0的原因吧。

  go很可能是***個(gè)將代碼風(fēng)格進(jìn)行強(qiáng)制統(tǒng)一的語言,例如go語言要求public的變量名必須以大寫字母開頭,private變量則以小寫字母開關(guān),這種做法不僅免除了public,private關(guān)鍵字,更重要的是統(tǒng)一了風(fēng)格。還有,對(duì)于判斷語句,如果你寫成這樣:

  1. if str == "descur"
  2.     .... 
  3. else
  4.     .... 

是不能編譯通過的,一定要寫成這樣:

  1. if str == "descusr"
  2.     ... 
  3. }else
  4.     ... 

這可能對(duì)那些在微軟懷抱中長大的孩子來會(huì)很痛苦,但對(duì)像我這些有代碼潔癖的人來說未嘗不是好事。其實(shí)統(tǒng)一了代碼風(fēng)格,進(jìn)行團(tuán)隊(duì)合作時(shí)是很有益的。

編程哲學(xué)

  C語言是純過程式的,這和它產(chǎn)生的歷史背景有關(guān)。C#/JAVA語言則是高度的面向?qū)ο笳Z言,典型表現(xiàn)是它們的體系里不存在孤立的方法,這些方法必須是屬于某個(gè)類。而go沒有去否認(rèn)任何一方,而是用批判吸收的眼光,綜合了各種編程思想,融合眾家之長,極力維持語言特性的簡潔,力求小而精,越深入go,你就會(huì)發(fā)現(xiàn)go真的是太簡潔了。

  從編程范式的角度看,go是變革派,不是改良派。

  雖然go屬于面向?qū)ο笳Z言,但在go的概念里沒有面向?qū)ο筮@個(gè)概念,只有結(jié)構(gòu)體。go的類具有高度的粒子性,如下面的代碼:

  1. type rect struct { 
  2.       width, height int 
  3.  } 
  4.   
  5.  func (r *rect) area() int { //求面積 
  6.       return r.width * r.height  
  7.  }    
  8.   
  9.  func (r *rect) perimeter() int{ //求周長 
  10.       return 2*(r.width + r.height)  
  11.  }    
  12.   
  13.  func main() { 
  14.       r := rect{width: 10, height: 15
  15.       fmt.Println("面積: ", r.area()) 
  16.       fmt.Println("周長: ", r.perimeter())  
  17.       rp := &r 
  18.       fmt.Println("面積: ", rp.area()) 
  19.       fmt.Println("周長: ", rp.perimeter())  
  20.  } 

類和類方法完全分開,只有在初始化對(duì)象后才進(jìn)行調(diào)用,減少了耦合度。go沒有構(gòu)造函數(shù)和析構(gòu)函數(shù)。由于go語言中沒有虛函數(shù),也就沒有vptr,支持構(gòu)造函數(shù)和析構(gòu)函數(shù)就沒有太大價(jià)值。

  其次,go語言反對(duì)函數(shù)和操作符重載,而C#,C++,和JAVA允許同名函數(shù)或者操作符,只要它們的參數(shù)列表不同。雖然重載解決了一小部分OOP問題,但卻給這些語言帶來了極大的負(fù)擔(dān),并且這種方法對(duì)解決問題問題并沒有帶來多大價(jià)值,所以go就不提供重載。

  再次,go反對(duì)繼承,反對(duì)虛函數(shù)和虛函數(shù)重載。其實(shí),go也提供了繼承,只不過采用了組合的方法來提供:

  1. type Car struct{ 
  2.      Base 
  3.      ... 
  4.  } 
  5.   
  6.  func (color *Car) Drive(){ 
  7.      ... 
  8.  } 
  放棄了大量的OOP特性后,go提供了一份相當(dāng)棒的功能:接口。你可能會(huì)有疑問,所有面向?qū)ο笳Z言也有接口啊?但那些面向?qū)ο笳Z言的接口都基本上一樣,而go的卻跟它們不一樣。

  go語言中的接口與其他語言***的一點(diǎn)區(qū)別是它的非侵入性。在C#等面向?qū)ο笳Z言中,為了實(shí)現(xiàn)接口,你需要從接口繼承,如:

  1. public interface IBankAccount 
  2.     void PayIn(decimal amount); 
 
  1. class SaverAccount : IBankAccount 
  2.  
  3.     public void PayIn(decimal amount) 
  4.     { 
  5.         Console.WriteLine("This is PayIn"); 
  6.     } 
  7.  

在go語言中,實(shí)現(xiàn)類的時(shí)候無需從接口派生,如:

  1. type SaverAccount  struct{   //go 
  2.     ... 
  3.  
  4. var saveAccount IBankAccount = new(SaveAccount) 

只要實(shí)現(xiàn)了IBankAccount要求的所有方法,就實(shí)現(xiàn)了該接口,可以進(jìn)行賦值,相當(dāng)原子性。

原文鏈接:http://www.cnblogs.com/descusr/archive/2012/11/07/2759575.html

【編輯推薦】

責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2011-01-05 10:58:05

Google Go

2023-11-30 08:09:02

Go語言

2012-07-06 13:16:37

Google Go

2009-12-10 10:33:09

Go語言

2018-03-12 22:13:46

GO語言編程軟件

2010-08-10 15:13:11

GoGoogle

2010-10-13 10:47:52

GoGoogle

2012-03-13 10:40:58

Google Go

2012-08-06 08:50:05

Go語言

2013-07-30 09:27:32

Go云計(jì)算語言

2013-07-30 09:23:43

VMwareGoogle云平臺(tái)

2009-12-28 09:09:34

Google開源項(xiàng)目

2024-04-07 00:04:00

Go語言Map

2024-03-29 09:12:43

Go語言工具

2009-11-11 10:43:49

Go語言Google

2019-05-15 11:38:22

GoogleGo編程語言

2013-07-30 12:29:19

Google App Google技術(shù)Engine

2010-01-11 09:38:28

編程語言排行榜Google Go

2011-11-14 09:47:20

Google Go

2025-06-17 09:32:15

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

欧美日韩精品欧美日韩精品| 99热国产免费| 欧洲一区av| 久久久久久电影| 欧美日韩中文字幕在线播放| 亚洲欧美卡通另类91av| 亚洲一区二区三区久久| 国产一区二区三区四区| 欧美精品激情在线观看| 福利一区二区| 国产一区二区三区在线看| caoprom在线| 精品国产第一区二区三区观看体验| 2021av在线| 欧美一级精品在线| 国产丝袜精品丝袜| 亚洲国模精品一区| 欧美第一视频| 日韩中文理论片| 激情不卡一区二区三区视频在线| 最新国产成人av网站网址麻豆| 女厕盗摄一区二区三区| 亚洲欧美综合精品久久成人| 超级碰碰久久| 中文字幕亚洲色图| 99精品视频在线免费播放 | 欧美视频精品一区| 小水嫩精品福利视频导航| 日韩欧美在线视频观看| porn视频在线观看| 亚洲成人久久一区| 精品久久福利| 日本乱人伦a精品| 亚洲精品一二三区区别| 日韩av电影免费在线观看| 国产九九视频一区二区三区| 69堂免费视频| 亚洲一级在线观看| 免费a在线看| 亚洲乱码一区二区| 成人免费91| 国产精品精品视频| 亚洲国产美女| 真人做人试看60分钟免费| 国产亚洲欧美在线| 一区二区三区高清在线视频| 日韩欧美激情四射| 日韩在线精品强乱中文字幕| 成人免费福利在线| 日本va欧美va精品| 天天色综合社区| 欧美日韩一区小说| 久久人体av| 亚洲精品欧美日韩| 国产福利一区在线| 91网页在线看| 亚洲成av人片在线观看香蕉| 日韩精品中文字幕一区二区| 成人动漫视频在线观看完整版| 国产一区久久久| 日韩欧美亚洲| 精品香蕉一区二区三区| 网红女主播少妇精品视频| 国产一区二区精品在线| 99热这里都是精品| 日本在线一二三| 中文字幕欧美精品日韩中文字幕| 成人免费av| 国产一级不卡视频| 精品久久久久久久中文字幕| xx欧美视频| 91久久精品国产91久久性色tv | 亚洲美女尤物影院| 国产成人小视频在线观看| 久久综合亚州| 精品美女调教视频| 亚洲色图25p| 在线观看日韩av电影| 性欧美videossex精品| 日韩精品一区二区在线| 国产一区二区观看| 日韩欧美亚洲天堂| 欧美大片日本大片免费观看| 欧美影院三区| 亚洲黄色a v| 亚洲精品国产精品国产自| 久久久久国产| 校园春色 亚洲色图| 精品亚洲一区二区三区| 欧美午夜在线视频| 永久免费的av网站| 亚洲天堂免费观看| 亚洲第一区色| 天天综合入口| 7777免费精品视频| 波多野洁衣一区| 欧美bbbxxxxx| 国产在线一区二区三区欧美| 亚洲电影第三页| 麻豆精品99| www.日本在线播放| 亚洲成人久久久| 一本色道久久综合一区| 中文在线中文字幕| 日本国产精品视频| 久久久精品2019中文字幕之3| 麻豆视频在线看| 欧美亚州在线观看| 在线日韩av片| 天天揉久久久久亚洲精品| 国产网站av| 91精品国产色综合久久不卡98口| 成a人片亚洲日本久久| 国产中文在线播放| 亚洲午夜精品一区二区| 日韩欧美专区在线| 老司机一区二区三区| 日p在线观看| 精品日本一区二区三区在线观看| 精品久久久久久中文字幕一区奶水| 久久人人爽人人爽人人片av不| 日韩视频第二页| 美女久久久久久久久久久| proumb性欧美在线观看| 成人综合网站| a√天堂在线观看| 欧美巨乳在线观看| 亚洲欧洲在线观看av| 三级精品视频| 久草在线资源视频| 97久草视频| 91精品国产日韩91久久久久久| 亚洲男人影院| 免费成人在线电影| www成人免费| 欧美二区在线播放| 亚洲色图欧美偷拍| 日韩中文在线电影| 波多野结衣在线网站| 狼狼综合久久久久综合网| 日韩精品专区在线影院重磅| 久久精品国产99| www.26天天久久天堂| 日本中文字幕高清| 国产精品国内视频| 欧美日韩一区二区欧美激情| 老牛嫩草一区二区三区日本| 激情影院在线| 波多野结衣之无限发射| 久久久综合免费视频| 亚洲国产色一区| 99在线精品免费视频九九视| 国产一线二线在线观看| 欧美啪啪免费视频| 日韩美女免费视频| 欧美色成人综合| 国产资源精品在线观看| 亚洲国产欧美在线观看| 中文字幕乱在线伦视频乱在线伦视频| 97欧洲一区二区精品免费| 亚洲精品一区二区三区99| 91视频精品在这里| 国产精品日韩精品中文字幕| 天堂中文8资源在线8| 欧美精品卡一卡二| 国产精品r级在线| 精品电影一区二区| 国产精品久久久久精k8| 亚洲成人直播| www.欧美| 国产在线色视频| 亚洲国产精品无码观看久久| 国产精品欧美日韩| 亚洲精品mp4| 一区二区在线观看免费| 日韩国产欧美在线播放| 给我免费播放日韩视频| 日本在线www| 日本999视频| 久久久福利视频| 欧美富婆性猛交| 欧美精品粉嫩高潮一区二区| 久久日韩粉嫩一区二区三区| 亚洲国产免费看| 亚洲综合网站| 麻豆视频在线| 狠狠操第一页| 自拍亚洲欧美老师丝袜| 国产成人一区二区三区小说| 日韩精品www| 欧美午夜片在线免费观看| a级高清视频欧美日韩| 亚洲黄色成人| 丝袜美腿一区二区三区动态图| h片视频在线观看| 一区二区三区区四区播放视频在线观看 | 99久久伊人久久99| 欧美日本一区二区视频在线观看| 久久亚洲精品人成综合网| a视频网址在线观看|