2013中國新能源汽車及電動車展覽會

展會名稱:2013中國新能源汽車及電動車展覽會

展會時間:2013年3月19日-23日

展會地點:中國|北京展覽館

日程: 2013年3月21日-2013年3月23日 展期

主辦單位:中國低碳產業協會 、北京市電動車行業協會、北京市交通委員會、聯合國工業發展組織、國際太陽能技術轉讓中心、中國可再生能源行業協會、北京旺旅展覽展示有限公司

三、 費用明細Details of charges

標準展台(9平米): 7800元

豪華展位(18平米): 18000元

室內光地(36平米起):1000元/平米

室外光地(36平米起):500元/平米

技術交流及產品推介會——讓市場瞭解企業技術及產品的最佳途徑

收費標準:5000元/30分鐘;主辦單位提供場地(150-200人)。

注意:請參展企業於參展前一個月提供產品的相關信息,以供組委會參考並邀請相關專業嘉賓。

四、 參展範圍Exhibition Scope

綠色低碳交通車輛展區:

各類電動自行車、電動三輪車、燃油助力車及殘疾人專用電動車、電動滑板車等特種電動車、各類自行車、摺疊車、童車等

新能源車輛展區:

整 車:電動(混合動力)客車、電動(混合動力)公交車、電動(混合動力)轎車、電動旅遊觀光車、電動高爾夫車,電動吉普車、太陽能電動車、電動客貨車、電動清潔車、電動叉車、電動升降車;氫能源、天然氣等各種新能源、清潔燃料、混合動力車輛;各種低排放、環保節能型汽車

配套電池、配件、零部件和相關技術資料展區

1. 電動車電池及電池維護、電機、充電器、控制器、輪胎、塑殼及其它零配件和維修工具與設備,電動車及自行車用防盜鎖具、報警設備等;

2. 各種動力電池與管理系統:蓄電池,燃料電池及其他能源儲備系統;各種電池生產,檢測,維護設備等;各類廢舊電池回收及三廢處理設備、回收處理技術等;

3. 充電裝置;電機電控系統;儲能裝置等;能源管理系統;充(換)電站設備;充換電池及電池等能源管理系統;加油站擴建充(換)電站、新能源汽車充電技術項目解決方案、智能電網、太陽能、風能互補新能源汽車充電站技術產品;停車場充電設施;充電站(器)電源設備和基礎設施;

4. 電池修復儀等配套輔助產品、各種機械加工、流水線、檢測儀器製造設備和工具等配套設備;

5. 零部件:低排放節能型發動機、混合動力發動機及清潔燃料發動機;整車總線與控制系統;電機電控系統;電力電容器、飛輪、逆變器、電熱泵、電動助力轉向、電動空調、功率模塊、相關檢測、計量、模具設備等。

6. 相關行業媒體軟件出版、培訓、諮詢、施工技術及其他相關材料、工藝、技術等;

特種車輛展區:清障車、環保車輛、改裝車輛等。

五、 組委會聯繫方式/Contact Information

聯繫地址:北京市德外大街西三旗東路金燕龍辦公樓東樓309室

聯繫電話:010-56105081,13366745071

聯繫人:李菲菲,李主任 13341032258

聯繫傳真:010-52214567-7

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理
【其他文章推薦】

USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

台北網頁設計公司這麼多該如何選擇?

※智慧手機時代的來臨,RWD網頁設計為架站首選

※評比南投搬家公司費用收費行情懶人包大公開

※幫你省時又省力,新北清潔一流服務好口碑

※回頭車貨運收費標準

Tesla獲香港數百台電動汽車訂單

據彭博上周報導,電動跑車製造商特斯拉汽車(Tesla Motors Inc.)生產的Model S已在香港接獲數百台訂單。Model S預定要在今(2013)年冬季於香港開賣,定價會在數個月內公佈。Model S在美國定價為69,900美元,Tesla預估這款車種今年有望賣出21,000台。

福特汽車(Ford Motor Co.)擴大推出油電混合車、電動車,加上Tesla的豪華電動車需求熱絡,帶動美國上半年電動轎車、卡車銷售上揚。根據彭博統計,美國今年上半年油電混合車、電動車銷售量上升至少23%至超過287,000台。

Tesla直接對消費者販售跑車的模式在美國面臨諸多阻撓,由於美國法律規定車輛必須由擁有經銷商執照的業者販售,因此特斯拉在美國多處皆無法開賣。不過,由Tesla車迷自行在白宮網站發起的請願活動已達到向總統歐巴馬(Barack Obama)要求回應的門檻,這有望為特斯拉解套。

Tesla才剛繳出了亮眼的財報成績單,同時還提前償還了政府貸款。Tesla執行長Elon Musk曾表示,他要大規模擴展Tesla快速充電站的美國網絡,預期到了6月底為止,充電站的涵蓋區域有望擴增3倍。他還說,到了今年底,Tesla車主將可靠著快速充電站,從洛杉磯直接開車到紐約。

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※帶您來了解什麼是 USB CONNECTOR  ?

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

※教你寫出一流的銷售文案?

日產電動車銷量破10萬台,明後年歐洲車市恐續縮

據Thomson Reuters報導,兼任日產汽車(Nissan)、法國雷諾(Renault SA)CEO職務的Carlos Ghosn近日表示,截至6月底,旗下電動車全球累計銷量已破10萬台大關。於今年在法國開賣的電動車「ZOE」目前則已在法國賣出3,000台以上、歐洲整體銷售量也達6,000台以上。

歐洲汽車製造商協會(ACEA)6月18日公佈的數據顯示,2013年5月歐盟27國新車掛牌數年減5.9%至104.27萬輛、創1993年同期以來新低;2013年1-5月歐盟27國新車掛牌數年減6.8%。

另據彭博報導指出,Carlos Ghosn表示,預估歐洲汽車市場於2014、2015年持續縮小的可能性很大,惟下滑幅度預估將不會像前幾年那般劇烈。

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※為什麼 USB CONNECTOR 是電子產業重要的元件?

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

※台北網頁設計公司全省服務真心推薦

※想知道最厲害的網頁設計公司"嚨底家"!

新北清潔公司,居家、辦公、裝潢細清專業服務

※推薦評價好的iphone維修中心

ABB參與建設全球最大電動汽車快充網路

ABB集團近日宣佈,荷蘭法斯奈德(Fastned)公司已選定ABB為其將在荷蘭建設的200多個電動汽車快速充電站提供充電機,從而使荷蘭每隔50公里便有一台電動汽車快速充電機,網路覆蓋全國1,670萬居民。

部署在荷蘭高速公路沿線的這200多個充電站都將裝配數個快速充電機,型號涵蓋ABB50千瓦的Terra52和Terra53直流充電設備,可在15-30分鐘內完成電動汽車充電。首台ABBTerra快速充電機將於2013年9月交付使用。法斯奈德(Fastned)充電站預計將於2015年全面建成,每座充電站將配備太陽能面板屋頂。

目前,荷蘭是推出全國快速充電網路人口最多的國家。在所有高速公路沿線,最遠間隔不超過50公里都將會部署ABB快速充電機;該快速充電網路能支援歐洲、亞洲和美國生產的所有主流品牌的電動汽車。

每台聯網的ABB快速充電機擁有廣泛的線上功能,包括遠端協助、管理和服務以及智慧的軟體升級等,並支援所有的快速充電標準和協定。這對確保快速更新換代的電動汽車與充電機之間的相容性起到重要作用,同時確保法斯奈德公司提供安全可靠的服務並隨著技術進步不斷升級其充電網路。

法斯奈德于2011年向基礎設施部(MinistryofInfrastructure)提交了在荷蘭部署一個電動汽車充電網路的申請,並由此啟動了在荷蘭高速公路沿線部署電動汽車快速充電站的計畫。同年12月,荷蘭政府宣佈在全國高速公路沿線共部署245個充電服務站的方案並公開了招標程式,法斯奈德獲得了其中201個網點的特許經營權。

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理
【其他文章推薦】

USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

台北網頁設計公司這麼多該如何選擇?

※智慧手機時代的來臨,RWD網頁設計為架站首選

※評比南投搬家公司費用收費行情懶人包大公開

※幫你省時又省力,新北清潔一流服務好口碑

※回頭車貨運收費標準

Tesla電動車北美Q2售出5千多台,營收超4億美元

美國電動車商Tesla近日公布最新財報,Q2營收達到4.051億美元,北美市場銷售5千多台,遠高於目標4千台,EPS 0.2美元毛利率由前一季的17%拉升到了22%。

Tesla電動車的充電器看上去像加油槍,充飽電后可跑25公里,而後車廂配備大顆鋰電池,用家用插座可充飽電4.5度電,最高時速一小時85公里,花費比油車節省很多。

被喻為車界「蘋果」的Tesla ModelS,一台要價7萬美金,底部有整顆電池可跑200公里,車內配製17吋觸控電腦,第二季在北美市場賣出5150輛,大幅超過4500輛的目標,成為車市的大黑馬。

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※帶您來了解什麼是 USB CONNECTOR  ?

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

※教你寫出一流的銷售文案?

800台比亞迪E6出租車 在深累計行程超1億公裡

8月15日,在2013年中國(深圳)國際公共交通科技博覽會上,比亞迪綠色公交發展事業部人員表示,E6出租車在深圳累計行駛裡程已超1億公裡。截至2013年7月底,在深圳投入的公交運營E6純電動出租車約為800台。

該人士表示,E6作為F3DM的升級版,最大的亮點在於採用了電力驅動,其動力電池和啟動電池均採用比亞迪自主研發生產的eT-POWeR鐵電池。

E6還分為個人消費者版和出租車版,其中個人版市場有待培育,將是比亞迪銷售部門下半年的工作重點。E6出租車目前推廣順利,年初制定的計劃推廣城市現在基本已經打開。

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※為什麼 USB CONNECTOR 是電子產業重要的元件?

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

※台北網頁設計公司全省服務真心推薦

※想知道最厲害的網頁設計公司"嚨底家"!

新北清潔公司,居家、辦公、裝潢細清專業服務

※推薦評價好的iphone維修中心

北京年底前試營運純電動車租賃服務

據中國大陸北京市交通委及相關租車企業負責人日前透露, 該市正在進行試點推廣純電動車租賃舉措,預計在2013年內正式導入市場試水溫,以打開純電動汽車個人購買方面發展緩慢的局面。

對於純電動汽車,政府提出了多項政策,但這兩年的發展速度並不及預期,進行汽車租賃措施也許是解開目前僵局較好的出路。主因消費者當前對於純電動汽車的續航能力、貶值率還有顧慮,因此,改成汽車租賃後,不用加油,相應的充電站也在完成,預料消費者會更願意使用純電動車。

一輛純電動汽車和一輛普通汽車的日租金預計差不多,但是使用純電動車卻可以大大降低使用成本。以一輛日租金120元(人民幣,下同)的10萬元左右經濟型轎車為例,普通汽車每公里加油費用在7毛錢,而純電動車每公里充電費用僅需要6分錢。

而最近一兩年,部分消費者購車消費觀念開始轉變,由「我要擁有一輛車」,轉變為「我要使用一輛車」。政府和事業單位也開始用租車的方式解決公共服務,促使租車率上升幅度超過5%。

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理
【其他文章推薦】

USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

台北網頁設計公司這麼多該如何選擇?

※智慧手機時代的來臨,RWD網頁設計為架站首選

※評比南投搬家公司費用收費行情懶人包大公開

※幫你省時又省力,新北清潔一流服務好口碑

※回頭車貨運收費標準

Domain Adaptive Faster R-CNN:經典域自適應目標檢測算法,解決現實中痛點,代碼開源 | CVPR2018

論文從理論的角度出發,對目標檢測的域自適應問題進行了深入的研究,基於H-divergence的對抗訓練提出了DA Faster R-CNN,從圖片級和實例級兩種角度進行域對齊,並且加入一致性正則化來學習域不變的RPN。從實驗來看,論文的方法十分有效,這是一個很符合實際需求的研究,能解決現實中場景多樣,訓練數據標註有限的情況。

來源:曉飛的算法工程筆記 公眾號

論文: Domain Adaptive Faster R-CNN for Object Detection in the Wild

  • 論文地址:https://arxiv.org/pdf/1803.03243.pdf
  • 論文代碼:https://github.com/yuhuayc/da-faster-rcnn

Introduction

  目前,目標檢測算法在公開數據上有很好的表現,但在現實世界環境中通常會有許多特殊的挑戰,比如視角、物體外觀、背景、光照以及圖片質量的不同,使得測試數據和訓練數據存在較大的跨偏移問題。

  以自動駕駛為例,不同的公開數據集里的圖片存在較大的差異,域偏移問題會導致明顯的檢測器性能下降。儘管收集更多的訓練圖片能解決域偏移的影響,但顯然這不是最好的方案。
  為了解決上面的問題,論文提出Domain Adaptive Faster R-CNN,最小化圖片級別域偏移(圖片尺寸、圖片風格、光照等)以及實例級域偏移(目標外表、目標尺寸等),每個模塊學習一個域分類器並且通過對抗訓練學習域不變的特徵,並且加入分類器的一致性正則化來保證RPN學習到域不變的proposal。
  論文的主要貢獻如下:

  • 從概率角度對跨域目標檢測中的域偏移問題進行理論分析。
  • 設計了兩個域自適應模塊來消除圖片級別和實例級別的域差異。
  • 提出一致性正則化來學習域不變RPN。
  • 將提出的模塊集成到Faster R-CNN中,進行端到端的訓練。

Distribution Alignment with H-divergence

  論文設計了H-divergence度量兩個不同分佈的樣本集,定義$x$為特徵向量,$x_{\mathcal{S}}$為源域樣本$x_{\mathcal{T}}$為目標域樣本,$h:x\to {0,1}$為域分類器,預測源域樣本$x_{\mathcal{S}}$為0,預測目標域樣本$x_{\mathcal{T}}$為1。假設$\mathcal{H}$為一組域分類器,則H-divergence的定義為:

  $err_{\mathcal{S}}$和$err_{\mathcal{T}}$為$h(x)$在源域和目標域樣本的預測誤差,上述的公式意味着域距離$d_{\mathcal{H}}(\mathcal{S},\mathcal{T})$與域分類器的錯誤率成反比,若最好的域分類器的錯誤率越高,則源域和目標域的距離越近。
  在神經網絡中,定義網絡$f$產生特徵向量$x$,為了進行域對齊,需要網絡$f$產生能夠減小域距離$d_{\mathcal{H}}(\mathcal{S},\mathcal{T})$的特徵向量,即最小化公式:

  上述的公式可以通過對抗訓練進行優化,論文採用gradient reverse
layer(GRL)進行實現,訓練主幹特徵最大化域分類誤差並且訓練域分類器最小域分類誤差進行對抗訓練,最終得出魯棒的特徵。

Domain Adaptation for Object Detection

A Probabilistic Perspective

  目標檢測問題可表示為後驗概率$P(C, B|I)$,$I$為圖片,$B$為目標的bbox,$C\in {1,\cdots,K}$為目標類別。定義目標檢測的樣本的聯合分佈為$P(C,B,I)$,其中源域和目標域的分佈是不一樣的$P_{\mathcal{S}}(C,B,I) \neq P_{\mathcal{T}}(C,B,I)$

  • Image-Level Adaptation

  根據貝恭弘=叶 恭弘斯公式,目標檢測的聯合分佈可定義為

  定義目標檢測為covariate shift假設,設定域間的條件概率$P(C, B|I)$是一樣的,域分佈偏移主要來自於$P(I)$分佈的不同。在Faster R-CNN中,$P(I)$即從圖片提取的特徵,所以要解決域偏移問題,就要控制$P_{\mathcal{S}}(I)=P_{\mathcal{T}}(I)$,保證不同域的圖片提取的特徵一致。

  • Instance-Level Adaptation

  另一方面,目標檢測的聯合分佈也可以定義為

  基於covariate shift假設,設定域間的條件概率$P(C|B,I)$是一樣的,域分佈偏移主要來自於$P(B,I)$分佈的不同,而$P(B,I)$即圖像中bbox區域特徵,所以為了解決域偏移問題,需要控制$P_{\mathcal{S}}(B,I)=P_{\mathcal{T}}(B,I)$,保證不同域的圖片提取的相同目標的bbox特徵不變。
  需要注意的是,目標域是沒有標註信息的,只能通過$P(B,I)=P(B|I)P(I)$獲取,$P(B|I)$為bbox預測器,這樣就需要RPN具備域不變性,為此,論文再添加了Joint Adaptation。

  • Joint Adaptation

  考慮到$P(B,I)=P(B|I)P(I)$,而分佈$P(B|I)$是域不變且非零的,因此有

  若域間的圖片級特徵的分佈是一樣的,實例級特徵的分佈也應該是一樣的。但實際中很難達到完美的$P(B|I)$,首先$P(I)$分佈很難完美地對齊,導致$P(B|I)$的輸入有偏,其次bbox是從源域學習而來的,會存在一定地偏差。
  為此,論文使用一致性正則化來消除$P(B|I)$的偏置,使用域分類器$h(x)$來進行源域和目標域的判斷。定義域標籤為$D$,圖像級分類器可看為預測$P(D|I)$,實例級的分類器可看為預測$P(D|B,I)$。根據貝恭弘=叶 恭弘斯理論,得到

  其中,$P(B|I)$是域不變的bbox預測器,而$P(B|D,I)$為域相關的bbox預測器。由於目標域沒有標註的bbox,所以實際僅學習到域相關的bbox預測器$P(B|D,I)$。但可以通過強制兩種分類器的一致性$P(D|B,I)=P(D|I)$,使得$P(B|D,I)$逼近$P(B|I)$。

Domain Adaptation Components

  DA Faster R-CNN的架構如圖2所示,包含兩個域自適應模塊以及一致性正則化模塊,自適應模塊加入GRL(gradient reverse layer)進行對抗訓練,每個模塊包含一個域分類器,最終的損失函數為

  • Image-Level Adaptation

  為了消除圖片級域分佈不匹配,使用patch-based域分類器對特徵圖的每個特徵點進行分類,每個特徵點實際對應原圖的一片區域$I_i$,這樣特徵點域分類器就等同於預測了每個圖像中每個patch的域標籤,這樣的好處在於:

  • 圖片級表達的對齊通常能有助於消除整圖帶來的偏移。
  • 由於目標檢測算法的batch size通常很小,path-based能夠提高域分類器的訓練樣本數。

  定義$D_i$為第$i$個訓練圖片的域標籤,$\phi_{u,v}(I_i)$為特徵圖上的一個激活值,$p^{(u,v)}_i$為域分類器的一個輸出,則圖片級自適應損失為

  為了對齊域分佈,需要同時優化域分類器最小化域分類損失以及優化主幹網絡的參數最大化域分類損失進行對抗訓練,論文採用GRL進行實現,使用梯度下降來訓練域分類器,回傳梯度給主幹時將梯度置為反符號。

  • Instance-Level Adaptation

  實例級特徵對齊有助於減少實例的局部差異,比如外表,大小,視角等。跟圖片級特徵對齊類似,定義$p_{i,j}$為第$i$個圖片的第$j$個proposal,實例級的自適應損失為

  同樣的,在域分類器前添加GRL模塊進行對抗訓練。

  • Consistency Regularization

  如前面的分析,強制域分類器的一致性有助於學習魯棒的跨域bbox預測器,加入一致性正則化。由於圖片級域分類器是對特徵值進行分類的,取平均輸出作為圖片級概率,一致性正則化為

  其中$|I|$為特徵圖的點數,$||\cdot||$為$\mathcal{l}_2$距離。

Experiments

Learning from Synthetic Data

  SIM 10k是從GTAV中截取畫面進行標註的數據集,Cityscapes為真實圖片,這裏對比從生成圖片到真實圖片的域轉移。

Driving in Adverse Weather

  Foggy Cityscapes通過生成霧來模擬真實場景,這裏對比天氣帶來的域轉移。

Cross Camera Adaptation

  這裏對比兩個不同的訓練數據集的域對齊。

Error Analysis on Top Ranked Detections

  每個模塊都能提升一定的準確率,而圖片級對齊的背景錯誤率較高,這可能由於圖片級對齊對RPN的提升更直接。

Image-level v.s. Instance-level Alignment

Consistency Regularization

CONCLUSION

  論文從理論的角度出發,對目標檢測的域自適應問題進行了深入的研究,基於H-divergence的對抗訓練提出了DA Faster R-CNN,從圖片級和實例級兩種角度進行域對齊,並且加入一致性正則化來學習域不變的RPN。從實驗來看,論文的方法十分有效,這是一個很符合實際需求的研究,能解決現實中場景多樣,訓練數據標註有限的情況。



如果本文對你有幫助,麻煩點個贊或在看唄~
更多內容請關注 微信公眾號【曉飛的算法工程筆記】

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※帶您來了解什麼是 USB CONNECTOR  ?

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

※教你寫出一流的銷售文案?

Golang簡易入門教程——面向對象篇

本文始發於個人公眾號:TechFlow,原創不易,求個關注

今天是golang專題的第9篇文章,我們一起來看看golang當中的面向對象的部分。

在現在高級語言當中,面向對象幾乎是不可或缺也是一門語言最重要的部分之一。golang作為一門剛剛誕生十年的新興語言自然是支持面向對象的,但是golang當中面向對象的概念和特性與我們之前熟悉的大部分語言都不盡相同。比如Java、Python等,相比之下, golang這個部分的設計非常得簡潔和優雅(仁者見仁),所以即使你之前沒有系統地了解過面向對象,也沒有關係,也一定能夠看懂。

常見的面向對象的部分,比如繼承、構造函數、析構函數,這些內容在golang當中統統沒有,因此整體的學習成本和其他的語言比起來會更低一些。

struct

在golang當中沒有類的概念,代替的是結構體(struct)這個概念。我們可以給結構體類型定義方法,為了表明該方法的適用對象是當前結構體,我們需要在方法當中定義接收者,位於func關鍵字和方法名之間。

我們一起來看一個例子:

type Point struct {
 x int
 y int
}

func (p Point) Dis() float64 {
 return math.Sqrt(float64(p.x*p.x + p.y*p.y))
}

在上面這段代碼當中我們定義了一個叫做Point的結構體,以及一個面向這個結構體的方法Dis。我們一個一個來看它們的語法。

對於結構體來說,我們通過type關鍵字定義。在golang當中type關鍵字的含義是定義一個新的類型。比如我們也可以這樣使用type:

type Integer int

它的含義是從int類型定義了一個新的類型Integer,從此之後我們可以在後序的代碼當中使用Integer來代替int。它有些類似於C++當中的typedef,結合這個含義,我們再來看結構體的定義就很好理解了。其實是我們通過struct關鍵字構造了一個結構體,然後使用type關鍵字定義成了一個類型。

之後我們創建了一個面向結構體Point的函數Dis,這個函數和我們之前使用的函數看起來並沒有太多的不同,唯一的區別在於我們在func和函數名之間多了一個(p Point)的定義。這其實是定義這個函數的接收者,也就是說它接受一個結構體的調用。

不僅如此,我們可以給golang當中的任何類型添加方法,比如:

type Integer int

func (a Integer) Less(b Integer) bool {
 return a < b
}

在這個例子當中,我們給原生的int類型添加了Less這個方法,用來比較大小。我們在添加方法之前使用type給int起了一個別名,這是因為golang不允許給簡單的內置類型添加方法,並且接收者的類型定義和方法聲明必須在同一個包里,我們必須要使用type關鍵字臨時定義一個新的類型。這裏要注意的是,雖然我們定義出來的Integer和int的功能完全一樣,但是它們屬於不同的類型,不能互相賦值。

和別的語言比較起來,這樣的定義的一個好處就是清晰。舉個例子,比如在Java當中,同樣的功能會寫成不同的樣子:

class Integer {
    private int val;
    public boolean less(Integer b) {
        return this.val < b.val;
    }
}

對於初學者而言,可能會覺得困惑,less函數當中的這個this究竟是哪裡來的?其實這是因為Java的成員方法當中隱藏了this這個參數,這一點在Python當中要稍稍清晰一些,因為它將self參數明確地寫了出來:

class Integer:
    def __init__(self, val):
        self.val = val
    def less(self, val):
        return self.val < val.val

而golang明確了結構體函數的接收者以及參數,顯得更加清晰。

指針接收者

golang當中,我們也可以將函數的接收者定義成指針類型

比如我們可以將剛才的函數寫成這樣:

type Point struct {
 x int
 y int
}

func (p *Point) Dis() float64 {
 return math.Sqrt(float64(p.x*p.x + p.y*p.y))
}

指針接收者和類型接收者在使用上是一樣的,我們並不需要將結構體轉化成指針類型,可以直接進行調用。golang內部會自己完成這個轉化:

func main() {
 p := Point{3, 4}
 fmt.Print(p.Dis())
}

那麼這兩者的區別是什麼呢?我們既然可以定義成普通的結構體對象,為什麼還要有一個指針對象的接收者呢?

其實很好理解, 兩者的區別有些類似於C++當中的值傳遞和引用傳遞。在值傳遞當中,我們傳遞的是值的一個拷貝,我們在函數當中修改參數並不會影響函數外的結果。而引用傳遞則不然,傳遞的是參數的引用,我們在函數內部修改它的話,會影響函數外的值。

也就是說在golang當中,如果我們函數接收的是一個指針類型,我們可以在函數內部修改這個結構體的值。否則的話,傳入的是一個拷貝,我們在其中修改值並不會影響它本身。我們來看個例子:

func (p *Point) Modify() {
 p.x += 5
 p.y -= 3
}

func main() {
 p := Point{3, 4}
 p.Modify()
 fmt.Print(p)
}

上面這段代碼當中函數的接收者是一個指針,所以我們得到的結果會是{8, 1},如果我們把指針去掉,改成普通的值接收的話,那麼最後的結果仍然是{3, 4}。

總結

我們今天學的內容有些多,我們來簡單梳理一下。首先,我們了解了通過type和struct關鍵字來定義一個結構體,結構體是golang當中面向對象的載體,golang拋棄了傳統的面向對象的實現方式和特性,擁有自己的面向對象的理念。

對於結構體來說,我們可以把它當做是接受者傳遞給一個函數,使得我們可以以類似調用類當中方法的形式來調用一個函數。並且對於函數而言,接受者除了值以外還可以是一個指針。如果是指針的話,當我們對結構體值進行修改的時候,會影響到原值。即使我們定義的接收者類型是指針,我們在調用的時候也不必显示將它轉化成結構體指針,golang當中會自動替我們完成這樣的轉化。

面向對象部分可以說是golang這一門語言當中最大的創新之一,也正是因為拋棄了傳統的類以及繼承、派生的概念,使得golang當中的面向對象語法糖相對簡潔。也因此有人將golang稱為升級版的C語言。雖然我們啰啰嗦嗦寫了很多,但是實際談到的內容並不多,我想理解起來也不會特別困難。

今天的文章到這裏就結束了,如果喜歡本文,可以的話,請點個關注,給我一點鼓勵,也方便獲取更多文章。

本文使用 mdnice 排版

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※為什麼 USB CONNECTOR 是電子產業重要的元件?

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

※台北網頁設計公司全省服務真心推薦

※想知道最厲害的網頁設計公司"嚨底家"!

新北清潔公司,居家、辦公、裝潢細清專業服務

※推薦評價好的iphone維修中心

強烈推薦 10 本我私藏的數據庫書單,附讀書方法

二哥有推薦的數據庫書單嗎?關於 MySQL 和 Oracle 的,謝謝了。

讀者小貓私信問了我上面這個問題,我覺得問題挺典型的,值得寫篇文章分享一下。因為對於 Java 程序員來說,幾乎不可避免地要和數據庫打交道,MySQL 和 Oracle 恰好又是兩個使用最廣泛的數據庫。

MySQL 和 Oracle 都屬於關係型數據庫,現在都隸屬於甲骨文公司,這家公司的產品很牛逼,CEO 拉里埃爾森也很牛逼,和史蒂夫喬布斯是鐵哥們。Oracle 相對 MySQL 更沉重一些,屬於企業級應用。而 MySQL 是開源的,性能又給力,所以近些年來市場佔用率已經飆升到了第一位,甩開 Oracle 兩條街。

(我用 Oracle 比較少,所以本篇就以 MySQL 為主,小夥伴們如果對 Oracle 了解得比較透徹,請在留言區推薦一下,拜謝。)

好了,接下來上書單,希望小夥伴們能夠喜歡,喜歡的話,就收藏,讓它吃灰去。不不不,喜歡的話,買幾本好好讀讀,學到就是賺到。

第一本、《SQL 必知必會》

SQL,全名為 Structured Query Language,也就是結構化查詢語言。經常有一些小夥伴抱怨說,“二哥,在公司乾的無非是一些 CURD 的工作,感覺沒啥進步。”這句話裏面的 CURD 指的就是創建(Create)、更新(Update)、讀取(Retrieve)和刪除(Delete)相關的業務操作,也就是 SQL 的範圍。

但說白了,再偉大的產品,其業務永遠也是圍繞着增刪改查轉啊。

《SQL 必知必會》這本書名副其實,能在最短時間內教會你實際工作環境中最常用和最必需的 SQL 知識,實用性極強。這本書是麻省理工學院、伊利諾伊大學等眾多大學的參考教材——是不是一下子就感覺檔次高了。

第二本、《SQL 學習指南》

封面上有一隻小動物,再帶上“O’REILLY”這個標識,就可以下一句肯定的結論了——這是一本經典書。

《SQL學習指南(第2版 修訂版)》這本書以 SQL92 標準為藍本,涵蓋了 MySQL 6.0、Oracle 11g。全面系統地介紹了 SQL 語言各方面的基礎知識以及一些高級特性,包括 SQL 數據語言、SQL 方案語言、數據集操作、子查詢以及內建函數與條件邏輯等內容。

經常和數據庫接觸的初學者可以常備在身邊,用到就去翻翻。

第三本、《MySQL 必知必會》

《MySQL 必知必會》這本書的英文原版名是《Sams Teach Yourself MySQL in 10 Minutes》,有沒有品到一絲絲標題黨的味道?不過,中文版名字就優雅多了。

這書非常適合想快速了解數據庫原理和 MySQL 的新手閱讀。快餐性質,簡潔明快,小開本,而且很薄,有點《了不起的蓋茨比》那本書的味道,讀起來很流暢。

第四本、《數據庫系統概念》

哇,黑皮書來了哦!黑皮書只有一個缺點,就是枯燥,但說良心話,黑皮書都特么是經典之作啊。尤其適合心靜的大學生來讀,反正大學生活除了談戀愛最重要外(嘿嘿),我覺得就剩下學習了。

數據庫領域的殿堂級作品;夯實數據庫理論基礎,增強數據庫技術內功的必備之選;對深入理解數據庫,深入研究數據庫,深入操作數據庫都具有極強的指導作用!

總之,有時間就讀,真的香就對了。

第五本、《MySQL技術內幕 : InnoDB存儲引擎 第2版》

眾所周知,MySQL 有兩種常見的存儲引擎,一種是 MyISAM,一種是 InnoDB。如果需要支持事務,就選擇 InnoDB,如果一個表絕大多數情況下只用來讀,可以選擇 MyISAM。從 MySQL 5.5 開始,InnoDB 已經成為 MySQL 的默認引擎,這說明它的優勢是有目共睹的。

《MySQL技術內幕:InnoDB存儲引擎(第2版)》這本書恰好從源代碼的角度深度解析了 InnoDB 的體繫結構、實現原理、工作機制,並給出了大量最佳實踐,能幫助你系統而深入地掌握 InnoDB,更重要的是,它能給你你設計高性能、高可用的數據庫系統提供絕佳的指導。

第六本、《高性能MySQL(第3版)》

這本書的封面是不是有點熟,風格和之前推薦的《 SQL 學習指南》高度相似,對吧?這本書的知名度非常高,就好像 MySQL 領域的周杰倫,幾乎所有要學習 MySQL 的開發人員都得買它。

我家裡這本書已經快被我翻爛了,說實話。這本書的內容非常豐富,幾乎涵蓋了 MySQL 所有方面:

  • 前兩章為準備階段,包含一些基本的概念與性能評測工具。
  • 第三章到第七章為優化部分,從架構、索引、查詢語句,到參數配置、軟硬件的優化。
  • 第八章到第十四章為服務的管理與維護,涵蓋了複製、備份、安全等等內容及相關工具。

第七本、《高可用MySQL(第2版)》

《高可用MySQL:構建健壯的數據中心》這本書主要講解真實環境下如何使用 MySQL 的複製、集群和監控特性,揭示 MySQL 可靠性和高可用性的方方面面。旨在解決 MySQL 數據庫的常見應用瓶頸,在保持 MySQL 的持續可用性的前提下,挖潛各種提高性能的解決方案。

這本書比較適合 MySQL 的專業人士看,否則很難駕馭得了。

第八本、《Oracle高效設計》

沒辦法,雖然 Oracle 用得不多,但對經典書還是有一些耳聞的。《Oracle高效設計》這本書的評價還是不錯的,作者 Thomas Kyte 是 Oracle 專業領域世界上最權威的專家之一,也是 Oracle 核心技術小組副主席。

這本書對 Oracle 及數據庫的知識進行了全面深入的講解,是一本關於 Oracle 的高級手冊。內容包括:性能工具包、體繫結構選擇、語句處理、故障排除、高效的管理、高效的設計模式、高效的 PL/SQL 程序設計等。

好了,就到這吧,小夥伴們,我覺得這八本書已經夠看上一段時間了。接下來,順帶分享一下我的一些讀書方法,我覺得這個價值可能比書單本身更有價值,希望能夠給小夥伴們的一些參考。

1)速讀

像入門書籍,要在最短時間內過一遍,比如說《SQL 必知必會》,不要覺得速讀一遍什麼也記不住,沒關係的,本身腦容量就是有限的。速讀的目的很單純,了解一本書的大綱,有沒有勾引你(感興趣)的內容。

或者說有沒有你不懂的內容,標記一下,對後面再讀做到一個提醒的作用。

2)精讀

有了速讀的基礎,再認真讀一遍的時候,你就會感覺完全不一樣了,就好像你去一個地方旅遊,總要先做個小攻略,在地圖上盤算一下,真正身處一個地方的時候,你就不會暈頭轉向,或者說有一種,“哦,原來是這樣啊”的感覺。

3)實戰

讀書最怕就是眼高手低,你以為你記住了,理解了,如果不動手記筆記或者敲代碼去實戰的話,基本上等於沒看,因為你是在讀技術書,又不是哲學書,對吧?

只靠大腦去思考是遠遠不夠的,還需要你的手去敲一敲,跑一跑,執行一下,看看結果是否符合預期,會不會出錯。

這三個步驟下來,一本書就再也不愁“讀了和沒讀一樣”了,小夥伴們有沒有 get 到?

我是沉默王二,一枚有趣的程序員。如果覺得文章對你有點幫助,請微信搜索「 沉默王二 」第一時間閱讀。

本文 GitHub 已經收錄,有大廠面試完整考點,歡迎 Star。

原創不易,莫要白票,請你為本文點個贊吧,這將是我寫作更多優質文章的最強動力。

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理
【其他文章推薦】

USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

台北網頁設計公司這麼多該如何選擇?

※智慧手機時代的來臨,RWD網頁設計為架站首選

※評比南投搬家公司費用收費行情懶人包大公開

※幫你省時又省力,新北清潔一流服務好口碑

※回頭車貨運收費標準