Golang語言學習

· · 345 次點擊 · · 開始瀏覽     編輯

main函數類似是一個入口

  1. package是最基本的分發單位和工程管理中依賴關系的體現
  2. 每個Go語言源代碼文件開頭都擁有一個package聲明,表示源代碼文件所屬代碼包
  3. 要生成Go語言可執行程序,必須要有mainpackage包,且必須在該包下有main()函數
  4. 同一個路徑下只能存在一個package,一個package可以拆分成多個源文件組成

Go工程中共有三個文件夾,分別是:srcpkgbin
src:存放Go源碼文件
pkg:存放編譯后的包文件
bin:存放編譯后的可執行文件src目錄需要手動創建,一般pkgbin目錄不需要創建,編譯時會自動創建。
由于當前章節視頻中沒有真正的執行install,所以代碼直接放在工程目錄下build暫時還沒有報錯。如果執行install的話就會報錯了。

Go語言基礎語言--import

  • import語句可以導入源代碼文件所依賴的package包;

  • 不得導入源代碼文件中沒有用到的package,否則Go語言編譯會報編譯錯誤

主要有兩種格式

第一種:

  import "package1"
  import "package2"
  import "package3"

第二種:

import  (
                "package1"
                "package2"
                "package3"
)

Go語言基礎語法---import原理

  • 如果一個main導入其他包,包將被順序導入
  • 如果導入的包中依賴其它包(package B),會首先導入B包,然后初始化B包中常量和變量,最后如果B包中有init,會自動執行init()
  • 所有包導入完成后才會對main中常量和變量進行初始化,然后執行main中的init函數(如果存在),最后執行main函數
  • 如果一個包被導入多次則該包只會被導入一次
gopackage.png

Go語言 基礎語法---import別名," . "," _ "

  • 別名操作的含義:將導入的包命名為另一個容易記憶的別名

    package main
    import (
    imooc "fmt"  //package 別名命名方法
    )
    func main(){
        imooc.Print("Hello World!")
    }
    
  • .操作的含義是:點.標識的包導入后,調用該包中函數時可以省略前綴包名 ---不建議用,容易混淆

    package main
    import(
           . "fmt" //點`.`
    )
    func main(){
        Print(a:"hello imooc") //調用該包中函數時可以省略前綴包名fmt
    }
    
  • 下劃線_操作的含義是:導入該包,但不導入整個包,而是執行該包中的init函數,因此無法通過包名來調用包中的其他函數.使用下劃線_操作往往是為了注冊包里的引擎,讓外部可以方便地使用,

GO語言--數據類型

  • 數據類型,字符串類型和布爾型
  • 派生類型
  • 類型零值和類型別名
  • 類型所占存儲大小

一個字節是8位

  1. 整型,浮點型,復數,字符串和布爾型
  • 數據類型的出現是為了把數據分成所需內存大小不同的數據,編程的時候需要用大數據的時候才需要申請大內存,就可以充分利用內存

  • 布爾型的值只可以是常量true或者false.一個簡單的例子:var a bool = true

  • 字符串類型string,編碼統一為UTF-8

  1. 派生類型
  • 指針類型(Pointer)
  • 數組類型
  • 結構化類型(struct)
  • Channel類型(chan)
  • 函數類型(func)
  • 切片類型(slice)
  • 接口類型(interface)
  • May類型(map)
  1. 類型零值和類型別名
  • 類型零值不是空值,而是某個變量被聲明后的默認值,一般情況下,值類型的默認值為0,布爾型默認值為false,string默認值為空字符串
  • 可以對類型設置別名
package main
type imooc int32
funct main(){
    var i imooc //imooc就是int32的別名
}
Golangbyte.png

本文來自:簡書

感謝作者:

查看原文:Golang語言學習

入群交流(和以上內容無關):Go中文網 QQ 交流群:729884609 或加微信入微信群:274768166 備注:入群;關注公眾號:Go語言中文網

345 次點擊  
加入收藏 微博
暫無回復
添加一條新回復 (您需要 登錄 后才能回復 沒有賬號 ?)
  • 請盡量讓自己的回復能夠對別人有幫助
  • 支持 Markdown 格式, **粗體**、~~刪除線~~、`單行代碼`
  • 支持 @ 本站用戶;支持表情(輸入 : 提示),見 Emoji cheat sheet
  • 圖片支持拖拽、截圖粘貼等方式上傳