日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Go语言学习重点

發布時間:2025/6/17 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Go语言学习重点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? 近年來多核化和集群化正在成為了互聯網時代發展的典型特征,Go語言的設計者們宣稱對C、C++、java、C#、Delphi,乃至于PHP、Python、Perl、Ruby等語言感到深深的沮喪,他們要創造一門新的編程語言來滿足分布式和并行計算的要求,事實也證明現在國內許多互聯網公司在編寫大并發高效處理的服務業務首選Go作為開發語言。對于C、C++、java和C#開發工程師來說,學習Go會非常輕松,特別是抓住下面的知識點,上手是分分鐘的事情。

  • 并發編程模型分為兩個流派:共享內存流派和消息傳遞流派,gotoutine和channel構成go語言的基礎,雖然go語言支持共享內存,但還是忘記它吧,只有channel才能把gotoutine的性能發揮到極致;
  • go語言是強制統一代碼風格的編程語言,首字母大寫的變量、函數和方法等同于公有屬性為包外可見,否則為對象私有包外不可見,變量函數命名規則主流有駱駝命名法(JAVA和C#)和下劃線法(C),強烈建議駱駝法,左花括號必須位于行尾否則編譯不給過,如果不能改變就不要吐槽go的編碼風格;
  • go語言支持函數多返回值,如:f, err := os.Open(filename),不關心可以使用占位符表示,如:f, _ := os.Open(filename),免去傳遞一大堆引用參數或封裝結構體和對象的尷尬,越用越喜歡的語言特性;
  • defer關鍵字含義為無論函數執行是否異常,均在函數退出前自動執行,且執行的順序為先進后出,用法例如:創建連接defer連接、打開句柄defer句柄、打開結果集defer結果集;
  • go語言反對函數和操作符重載、反對繼承、虛函數,但并不代表go語言不能實現上述功能,可以通過組合方式變現,go語言同時放棄了對象的構造和析構等OOP特性,接口(interface)的非侵入性是其與其他面向對象語言最大的區別,go語言在面向對象的編程思想上真正做到了取C++、JAVA精髓而又去其糟粕;
  • go數據分為數值語義和引用語義,其中數組是數值語義,切片和字典(二者與channel一樣均為引用語義)作為內置的數據類型,支持接口、閉包和匿名函數、支持反射、支持自動垃圾回收,充分體現了go語言的先進性;
  • go語言定義一個接口并聲明一個接口變量,new一個對象賦值給接口變量從而實現接口與類型的直接轉換,松散低耦合的對應關系大大降低接口調整導致的代碼變動量,優勢誰用誰知道;
  • Cgo功能提供C與go語言的交互,相比JNI簡單易用多了,幾行注釋輕輕松松實現集成和調用真是省心省力;
  • 采用gdb對go程序調試與C沒有特別的不同,調試信息的格式為DWARFv3,gdb的版本需高于7.1,C\C++開發工程師表示毫無壓力;
  • go語言的位運算符取反操作為^x,與其他語言~x的寫法不同,時時刻刻提醒go就是go,是顏色不一樣的煙火,天空海闊,要做最堅強的泡沫~
  • go語言switch的case可以是值也可以是表達式如:0 <= num && num <= 3,也可以如case 1, 2, 3多個值,且語句下不用接break,關鍵字fallthrough表示執行完當前case后繼續執行下面的case,C\C++和java表示無可奈何;
  • go語言循環語句關鍵字為for,支持foreach風格(for idx, arg := range args),但不支持while和do-while,類似while(1)和while(true)之類的代碼不會再出現了;
  • 函數func myfunc(args ...int)表示入參個數不確定,原樣傳參:myfunc1(args...),傳片段:myfunc2(args[1:]...),表示把args片段從下標1到結尾打散傳輸,不確定類型的如:func myfunc3(args ...interface{});
  • 匿名函數:func(ch chan int) {ch <- ACK} (reply_chan),形參ch是一個int類型的channel,大括號是函數體,reply_chan為實參表示實際調用,f := func(x, y int) int {return x + y}表示將匿名函數賦值給函數對象變量f,開始別扭習慣就好了;
  • go語言函數是函數,方法是方法,函數是一段代碼片段,方法是指定了函數的接收者;方法:func (a *Integer) Add(b Integer)指出其接收者為Integer對象的指針類型,func (a Integer) Add(b Integer)為對象的值類型,區別在于對接收者a的操作結果,此外,go語言編譯器可以根據值語義的接收者方法自動生成引用語義的接收者方法,沒讀懂請再讀一遍;
  • go語言支持接口查詢功能,例如:if file, ok := file1.(two.IStream); ok {...},其中file1為某接口變量,two.IStream為某包下的某接口定義,判斷ok值后調用接口中的方法可以避免不必要的異常;
  • go語言采用select判斷句柄狀態,每個case必須是一個IO操作,超時控制首先異步sleep指定時間,然后向超時chan里寫入值,在select下的case里可讀出意味超時,go語言沒有提供直接的超時處理機制,這種變通的實現方法總覺得設計者高深莫測有所保留;
  • 單向channel機制,例如:var ch1 chan<- float64,表示ch1是單向channel,只用于寫入float64數據,再例如:var ch2 <-chan int,表示ch2是單向channel,只用于讀取int數據,channel之間可以相互轉換,把chan單向強制類型轉換成雙向go不禁止但這么做要對得起自己的良心;
  • sync.Once(函數名)用于全局初始化操作,sync.atomic子包提供一系列原子操作的函數,各種語言分別有對應的方法,列出來加深記憶;
  • type Person struct {

???????? ????Name string "name"

???????????? Mail string "mail"

????????}為每個字段增加tag以便通過反射機制獲取成員變量,以及用于標注序列化字段的名稱;

  • 一份賞心悅目的代碼可以提高工作效率,如果不知道怎么空格怎么縮進怎么換行可以執行命令go fmt 源文件.go,學習一下以后就這樣寫代碼吧;

????開發工具強烈建議JetBrains,風格一如IDEA,Go語言汲取了眾多語言的優點,但更簡單更精煉,值得花些時間研究,因為它老爸叫谷歌。

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的Go语言学习重点的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产午夜精品免费一区二区三区视频 | 无码精品久久久久久久 | 特级黄色录像 | 亚洲丝袜av| 国产伦精品一区二区三区照片91 | 91毛片网| 中国挤奶哺乳午夜片 | 国产免费黄色小视频 | 亚洲黄色免费在线观看 | 在线播放www | 美女福利视频网 | 碰碰久久| 偷拍网亚洲| 久久久一 | 精品国产美女 | 黑人操日本| 婷婷激情小说 | 国产精品久久久久久亚洲影视 | 欧美专区 日韩专区 | 国产www色| 欧美三区在线观看 | 2019毛片| 狠狠干成人 | 日韩欧美国产一区二区三区在线观看 | 成人污污视频在线观看 | 色吊妞| 亚洲女同女同女同女同女同69 | 综合五月婷 | 激情五月婷婷综合 | 成年人免费观看视频网站 | 国产精品免费91 | 涩涩免费网站 | 成年人在线观看视频免费 | 99热免费 | 红桃成人网 | 女性向片在线观看 | 黄色片免费看 | 成都免费高清电影 | 亚洲无色| 久操网在线 | 久久精品韩国 | 开心激情网五月天 | 亚洲资源在线播放 | 中国免费看的片 | 欧美网站在线 | 办公室大战高跟丝袜秘书经理ol | 熟妇高潮喷沈阳45熟妇高潮喷 | 黄色av影院 | 国产精品av一区二区 | 成年人黄色大全 | 欧美做爰全过程免费看 | 一级片久久久久 | 免费a级 | 国产小视频在线看 | 生活片av | 99久久久无码国产精品 | 亚洲资源站 | 999黄色片| 水果视频污 | 男人和女人日批 | 成人必看www. | 免费一级片视频 | 欧美hdxxxx | 亚洲午夜无码久久久久 | 香蕉黄色片 | 成人在线观看一区二区 | 国产精品乱码久久久久久 | julia一区二区三区中文字幕 | 免费黡色av | 天天干天天色天天 | 一级欧美在线 | 国产成人精品久久久 | 久章草影院 | 国产极品尤物 | 亚洲欧洲av| 国产精品无码网站 | 日韩一区二区影视 | 操你啦免费视频 | 又大又粗弄得我出好多水 | 91极品身材尤物theporn | 一区二区三区激情视频 | 国产色婷婷一区二区 | 国产美女在线精品 | 日韩电影一区二区 | 日本国产欧美 | www.xxx.日本 | 国产成人在线观看免费 | 色婷婷久久综合中文久久蜜桃av | 天天插天天干 | 超碰95在线 | 亚洲啊啊啊啊啊 | 韩国美女av | 在线观看小视频 | 日韩美女啪啪 | 青草精品在线 | 涩涩综合 | 久久久久久一区二区 | 男女猛烈无遮挡 | 自拍偷拍第八页 |