Go語言程序設計-微課視頻版

肖建良、趙文麗

  • Go語言程序設計-微課視頻版-preview-1
  • Go語言程序設計-微課視頻版-preview-2
  • Go語言程序設計-微課視頻版-preview-3
Go語言程序設計-微課視頻版-preview-1

商品描述

本書主要講述Go語言的基礎語法,從最基本的標識符、數據類型、操作符等開始,主要內容包括Go語言程序的主要設計元素,程序流程控制,數組、切片與映射,函數與錯誤處理,字符串與指針,結構體與方法,接口與反射,輸入輸出與文件處理,並發編程基礎等。 本書通過大量的程序實例來演示Go語言的語法細節,每個知識點對應的所有細節都做了詳述,並輔以大量的編程實踐案例揭示其實際應用。 通過本書的學習,讀者可以全面掌握Go語言最核心的基礎語法,能為Go語言應用項目開發打下堅實的基礎。 本書既可以作為零基礎讀者的程序設計入門自學用書,也可以供有一定語言基礎,有志於利用Go語言作為工具,開發雲計算、區塊鏈等項目的軟件開發人員參考。 本書每章附有針對性的上機訓練項目及大量的練習題,特別適用於高等院校相關專業作為編程基礎類教材。

目錄大綱

目錄

第1章認識Go語言

1.1Go語言簡史

1.2Go語言小程序

1.3Go語言的註釋

1.4Go語言格式化

1.4.1格式化控制字符

1.4.2格式化輸出

1.4.3格式化輸入

1.5Go語言安裝

1.6Go語言編輯工具

上機訓練

習題

第2章Go語言設計元素

2.1標識符

2.1.1關鍵字

2.1.2預定義標識符

2.1.3分隔符

2.2數據類型

2.2.1基本數據類型

2.2.2復合數據類型

2.2.3自定義數據類型

2.3常量

2.3.1字面量

2.3.2常量的定義

2.3.3常量的賦值

2.3.4枚舉

2.4變量

2.4.1變量的聲明

2.4.2變量初始化

2.4.3變量賦值

2.4.4變量的類型轉換

2.5操作符

2.6表達式

2.6.1邏輯表達式

2.6.2算術表達式

2.7類型及值的屬性

2.7.1類型相同

2.7.2別名及類型定義

2.7.3可賦值問題

2.7.4無類型常量的表示

上機訓練

習題

第3章程序流程控制

3.1代碼塊與作用域

3.1.1代碼塊

3.1.2作用域

3.1.3變量的可見性

3.2if語句

3.2.1基本語法

3.2.2省略else

3.2.3帶子句的if

3.2.4if語句的嵌套

3.2.5if…else if語句

3.3switch語句

3.3.1表達式switch

3.3.2類型switch

3.3.3switch的嵌套

3.3.4break語句

3.3.5fallthrough語句

3.4select語句

3.5for語句

3.5.1基本語法

3.5.2for子句

3.5.3range子句

3.5.4break語句

3.5.5continue語句

3.5.6goto語句

上機訓練

習題

第4章數組、切片與映射

4.1值和引用

4.1.1值傳遞

4.1.2引用傳遞

4.2數組

4.2.1數組的聲明

4.2.2數組的初始化

4.2.3數組的賦值

4.2.4數組的類型

4.2.5數組的傳遞

4.2.6多維數組

4.3切片

4.3.1切片的定義

4.3.2切片的檢索及賦值

4.3.3切片的操作

4.3.4切片的遍歷

4.3.5切片的擴容

4.3.6切片的復制

4.3.7切片的插入與刪除

4.3.8切片的排序與檢索

4.4映射

4.4.1映射的概念

4.4.2映射的創建

4.4.3映射的填充及修改

4.4.4映射的查找與遍歷

4.4.5映射的刪除及鍵的修改

4.4.6映射的反轉

上機訓練

習題

第5章函數與錯誤處理

5.1函數的聲明

5.1.1內部函數的聲明

5.1.2匿名函數的聲明

5.1.3外部函數的聲明

5.1.4函數類型的聲明

5.2函數的參數

5.2.1參數列表的格式

5.2.2可變參數

5.2.3值傳遞和引用傳遞

5.2.4空接口作為參數

5.3函數的返回值

5.3.1返回值列表的格式

5.3.2函數作為返回值

5.3.3多返回值處理

5.3.4return語句

5.4匿名函數與閉包

5.5init函數和main函數

5.5.1init函數

5.5.2main函數

5.6錯誤與恢復機制

5.6.1錯誤信息提示

5.6.2defer語句

5.6.3panic函數

5.6.4recover函數

5.7遞歸函數

5.8內置函數簡介

上機訓練

習題

第6章字符串與指針

6.1字符表示

6.2字符串變量的聲明

6.3字符串的輸入/輸出

6.3.1從鍵盤輸入字符串

6.3.2從字符串中掃描文本

6.3.3往標準I/O設備上輸出字符串

6.3.4格式化串聯字符串

6.4字符串的操作

6.4.1字符串搜索

6.4.2字符串的遍歷

6.4.3字符串的截取

6.4.4字符串的連接

6.4.5字符串的修改

6.4.6字符串的刪除

6.4.7字符串的插入

6.4.8字符串的比較

6.5strings包使用

6.5.1字符串包含

6.5.2字符串索引

6.5.3字符替換

6.5.4字符統計

6.5.5大小寫轉換

6.5.6字符串修剪

6.5.7字符串分割

6.5.8字符串連接

6.6strconv包使用

6.7UTF8包

6.8指針

6.8.1指針的概念

6.8.2指針變量聲明

6.8.3指針的初始化及賦值

6.8.4指針應用

6.9多級指針

上機訓練

習題

第7章結構體與方法

7.1結構體的定義

7.1.1基本語法

7.1.2使用new創建結構體

7.1.3結構體的賦值

7.1.4結構體的別名與轉換

7.2結構體操作

7.2.1訪問結構體成員

7.2.2結構體參數傳遞

7.2.3結構體復制

7.2.4結構體字段加標簽

7.3結構體嵌套

7.3.1匿名字段結構體

7.3.2內嵌結構體

7.3.3字段及方法隱藏

7.3.4遞歸結構體

7.4匿名結構體

7.4.1匿名結構體的聲明

7.4.2匿名結構體的應用

7.5復合數據類型結構體

7.5.1數組作為結構體的字段

7.5.2切片作為結構體的字段

7.5.3映射作為結構體的字段

7.5.4接口作為結構體的字段

7.5.5函數作為結構體的字段

7.6結構體的方法

7.6.1方法的聲明

7.6.2為類型添加方法

7.6.3內嵌結構體的方法

7.6.4方法重寫和多重繼承

上機訓練

習題

第8章接口與反射

8.1接口的定義

8.1.1接口聲明

8.1.2接口的嵌套與組合

8.2接口的實現

8.2.1以值類型接收者實現方法

8.2.2以指針類型接收者實現方法

8.2.3判斷類型是否實現接口

8.3接口賦值

8.3.1類型給接口賦值

8.3.2接口給接口賦值

8.4接口查詢

8.4.1類型斷言

8.4.2類型開關

8.4.3類型反射

8.5接口多態性

8.5.1多態的概念

8.5.2多態的實現

8.6空接口interface{}

8.7error接口

8.8反射

8.8.1反射類型

8.8.2反射值

8.8.3反射結構體

8.8.4設置值

8.8.5反射方法

上機訓練

習題

第9章輸入輸出與文件處理

9.1輸入輸出基礎

9.2io包的輸入輸出函數

9.2.1變量定義

9.2.2類型定義

9.2.3部分函數及方法介紹

9.3os包的輸入輸出函數

9.3.1常量與變量定義

9.3.2類型定義

9.3.3目錄操作相關函數

9.3.4文件操作相關函數

9.4bufio包的輸入輸出函數

9.4.1包中的常量變量及類型定義

9.4.2常用輸入輸出函數及方法介紹

9.5io/ioutil包的輸入輸出函數

上機訓練

習題

第10章並發編程基礎

10.1基本概念

10.1.1同步與異步通信

10.1.2並行與並發

10.1.3進程線程與協程

10.2Go語言的並發編程元素

10.2.1goroutine

10.2.2channel

10.2.3select…case

10.3鎖與同步

10.3.1基本概念

10.3.2sync.Mutex

10.3.3sync.RWMutx

10.3.4sync.Cond

10.3.5sync.WaitGroup

上機訓練

習題

附錄AASCII表

附錄B習題參考答案

參考文獻