golang月薪10k應該具有哪些知識?

對於程序員來講,10K不是一個很高的要求和門檻。程序員

具體到Go語言來講,如今接受大部分Go語言開發崗位的,仍是以大的BAT以及TMD等這些大的互聯網公司開展業務爲主。這些大廠的薪資和人員素質也決定了不會是10K這個水平。web

若是要必須用10K衡量一下技能點位的話,其實這個就是個基礎崗位的薪水水平。具體來講,只要掌握具有Go的一些語法,懂開發,能進行模塊開發便可。按照下面的知識點來掌握:數據庫

  • 基本語法編程

    • 進制及轉換 進制、進制轉換、機器數和真值、原碼、反碼與補碼數組

    • 變量與常量 變量概念、聲明變量、常量及聲明、特殊常量iota網絡

    • 布爾型Bool閉包

    • 數值型 整形、浮點型、byte、rune、uintptr併發

    • 字符串型app

    • 複合類型(派生類型) 指針類型、數組類型、結構化類型、Channel類型、函數類型、切片類型、接口類型(interface)、Map類型框架

    • 運算符 算術運算符、關係運算符、邏輯運算符、位運算符、賦值運算符、運算符優先級

    • 分支循環

    • 條件語句 if語句、switch語句、select語句、循環語句、for語句、終止循環語句、break語句、continue語句

  • 數組與切片

    • 數組 數組概念、數組聲明與訪問、聲明數組與數組的初始化、訪問數組元素、數組長度、遍歷數組、多維數組、多維數組概念、多維數組的使用、數組類型

    • 切片 切片概念、切片語法、切片的定義、切片的初始化、修改切片內容

    • len()與cap()函數

    • 空切片

    • append()和copy()函數

  • 集合Map

    • 集合Map概念

    • Map的使用 make()建立map、delete()函數刪除map元素、ok-idiom獲取元素、map的長度len(map)、map類型--引用類型

    • 字符串String

    • 字符串概念

    • 訪問字符串元素

  • 函數

    • 函數概念

    • 函數聲明

    • 函數的使用

    • 函數多個返回值

    • 空白標識符

    • 函數可變參數

    • 參數傳遞類型 值傳遞、引用傳遞

    • 函數閉包 函數做爲值、函數值使用步驟

    • Panic和Recover Panic、Recover

  • 指針

    • 指針概念

    • 聲明指針

    • 指針取值 獲取指針地址、獲取指針存儲內容值

    • 空指針

    • 修改指針變量值

    • 函數參數指針傳遞

    • 指針數組

    • 指針的指針 指針的指針概念、做爲函數參數傳遞

  • 結構體

    • 結構體概念

    • 結構體定義

    • 結構體初始化

    • 訪問結構體

    • 結構體指針

    • 結構體的匿名屬性

    • 結構體嵌套

    • 提高字段

    • 結構體和字段導出

    • 結構體之間的比較

    • 結構體做爲函數參數

    • make、new對結構體的操做

  • 方法

    • 方法的定義

    • 方法的語法 方法的定義、相同方法名不一樣參數的定義及調用

    • 方法和函數 方法和函數的區別及比較

    • 變量做用域 局部變量、全局變量、形式參數、指針接收者

    • method繼承

    • method重寫

  • 接口

    • 接口定義

    • 接口語法 結構體實現接口方法、interface值、interface函數參數、嵌入interface

  • OOP編程

    • 定義結構體和方法

    • New()函數替代構造函數

    • 組成(Coposition)替代繼承(Inheritance) 嵌入結構體實現組成、嵌入結構體的切片

    • 多態性(Polymorphism)

  • 錯誤處理

    • 錯誤定義

    • 錯誤編程演示

    • 錯誤類型標示 從錯誤中提取更多信息、斷言結構字段、斷言方法、直接比較

    • 自定義錯誤

  • defer語句

    • 延遲的概念

    • 延遲函數

    • 延遲方法

    • 延遲參數

    • 堆棧的延遲

    • 延遲的應用

    • defer函數的使用

  • 包Package

    • 包的概念

    • 使用包的緣由

    • main函數和main包 指定特定源文件屬於包代碼package、引入包的關鍵字import

  • 併發Concurrency

    • 併發的概念 什麼是併發性、什麼是並行性、併發與並行的區別、進程、線程、協程、概念及定義、區別與不一樣點

    • Goroutines Goroutines的定義、Goroutines的優點、主Goroutines、Goroutines的使用方法、啓動多個Goroutines

    • 通道channels 通道聲明、通道數據的發送與接收、通道的阻塞性

    • 死鎖 死鎖的概念

    • 定向通道

    • 關閉通道

    • 緩衝通道

  • 網絡編程

    • 網絡編程基礎 通訊協議、TCP/IP協議、網絡接口層、網絡層、傳輸層、應用層、網絡七層模型、IP地址和端口、IP地址、IPV4地址、IPV6地址、端口

    • TCP編程 TCP協議的定義、什麼是套接字、服務端編程、客戶端編程

    • UDP編程 UDP簡介、UDP服務端編程

    • net模塊其餘屬性和函數

  • 反射

    • 反射的來源 反射機制的定義、Java的反射機制

    • 反射的使用

    • 結構體 反射結構體解析屬性和方法、反射結構體調用結構體方法、匿名結構體字段的處理、反射結構體修改結構體數據

以上內容看着可能挺多的,可是都屬於最最基礎的基礎語法。掌握了以上的內容,基本就把go的基礎語法搞懂了。

而後接下來再學一學Goweb的開發框架,就能夠進行web開發了。好比beego,gin,iris,revel等這些框架,掌握了其中一到兩個,就能夠勝任公司項目的模塊開發。

再學一些數據庫的知識,掌握兩個orm框架。到這裏若是都掌握的還能夠的話,15K應該是能夠拿到的。

固然,Go除了Goweb開發外,還有其餘不少不少能夠應用的領域,好比集羣,微服務平臺,容器技術,雲平臺,區塊鏈等等都是Go能夠大展身手的領域。後面這些,就相對要高階點的內容了。


做者:Davie

連接:https://www.zhihu.com/question/51650593/answer/638905105
來源:知乎

著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。

相關文章
相關標籤/搜索