<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      go語言基礎

      Go語言基礎

      go語言由google開發,對分布式系統開發友好

      安裝與設置

      1. Go官網下載并安裝Go。
      2. 配置環境變量:
        • 設置GOPATH(工作區路徑)。
        • GOBIN添加到系統的PATH中。

      基本語法

      首先進行一個基礎的hello world程序編寫

      package main
      
      import "fmt"
      
      func main() {
           fmt.Println("Hello, World!")
      }
      

      go語言基礎組成包括包聲明、引入包、函數、變量、語句和表達式、注釋

      數據類型

      • 基本類型:整型int, 浮點數float64, float32,字符串類型string, 布爾類型bool
      • 復合類型:數組類型array, 切片類型slice, map, struct

      變量聲明

      // var identifier type
      var name string = "Go語言"
      var name, name2 string //同時聲明兩個變量,如果無顯示初始化,則會默認初始化為空字符串
      // 其它類型默認初始化為nil
      var p *int       // 指針
      var s []int      // 切片
      var m map[int] int // 映射
      var ch chan int  // 通道
      var f func() int    // 函數
      var i interface{} // 接口
      // 根據值自動判斷類型
      var i = 3
      // 也可以簡短聲明
      i := 3 // 但是需要注意如果已經被聲明,此時再聲明是不允許的,只能在函數體中允許使用
      // 等價于var i int i = 3
      var ( // 用于聲明全局變量
          a int = 5
          b bool = True
      )
      

      常量聲明

      const identifier [type] = value
      const (
          a = iota // 特殊常量,可以被編譯器修改的常量,會被初始化為0
          b // 1
          c // 2
      )
      

      控制結構

      if condition {
           // 條件為真時執行
      } else {
           // 條件為假時執行
      }
      
      for i := 0; i < 10; i++ {
           fmt.Println(i)
      }
      for ture {
          // 無限循環
      }
      

      函數

      func add(a int, b int) int {
           return a + b
      }
      

      并發

      Go語言內置支持并發,通過goroutinechannel實現。

      go func() { // go 聲明協程
           fmt.Println("并發執行")
      }()
      
      ch := make(chan int)
      ch <- 42 // <-聲明通道
      fmt.Println(<-ch)
      

      go接收者

      go接收者可以用來實現類似類的功能,go語言中沒有類的概念,簡單來講接收者其實就是我要使用的東西或者我要改的東西,就可以用作接收者。比如方法是雕刻,那么石頭就是接收者,雕刻要雕石頭。

      func (r ReceiverType) 方法名(參數) 返回值 {
          // 可通過r訪問接收者的字段/方法
      }
      // ReceiverType必須是當前包定義的類型,不能是內置類型int
      // 例子
      type Coffe struct { temp float64}
      func (c Coffe) heat() { c.temp += 10 }
      func (c *Coffe) heat() { c.temp += 10 }
      c Coffe // 值接收者,適用于不需要修改源數據,且數據較少時
      c *Coffe // 指針接收者,適用于需要修改源數據,且數據較多時
      

      go語言模式匹配

      go語言中ok模式匹配中可以用來檢查鍵值是否存在,如果鍵值存在,則ok為true, 否則為false,_代表不獲取鍵對應的值,忽略返回值

      _, ok := myMap[key]
      if ok {
          fmt.Println("鍵存在,值為:")
      } else {
          fmt.Println("鍵不存在")
      }
      
      posted @ 2025-04-15 00:06  LemHou  閱讀(46)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 一二三四中文字幕日韩乱码| 国产成人高清亚洲综合| 精品人人妻人人澡人人爽人人| 国产精品鲁鲁鲁| 国产成人高清亚洲综合| 先锋影音男人av资源| 国产成人AV一区二区三区在线| 国产天堂亚洲国产碰碰| 精品国产伦理国产无遮挡| 中文字幕国产在线精品| 阿克陶县| 起碰免费公开97在线视频| 熟女一区| 荡乳尤物h| 强伦人妻一区二区三区| 一本久久a久久精品综合| 欧美激情一区二区| 中文字幕午夜福利片午夜福利片97| 福利一区二区在线视频| 综合区一区二区三区狠狠| 在线国产毛片| 人妻系列无码专区免费| 98日韩精品人妻一二区| 国产亚洲av夜间福利香蕉149| 国产精品中文第一字幕| 亚洲成在人天堂一区二区| 伊在人间香蕉最新视频| 亚洲欧洲日产国产 最新| 麻豆成人精品国产免费| 一本一本久久aa综合精品| 久久精品国产一区二区蜜芽| 宾馆人妻4P互换视频| 甘洛县| 国产精品美女一区二三区| 乱码中字在线观看一二区| 亚洲国产区男人本色vr| 大伊香蕉精品一区二区| 蜜桃久久精品成人无码av| 天堂网亚洲综合在线| 亚洲AV无码国产永久播放蜜芽| 亚洲sm另类一区二区三区|