內容簡介
Julia是一門面向未來的程式語言,本書主要講解了基於Julia程式語言的電腦程式設計方法。書中首先從巨觀上介紹了編寫埋樂探匙殼重Julia程式所需的預備知識和編程環境;然後詳細說明了Julia語言中*基礎的概念,包括變數、常量、類型系統、數值、字元串、類型的參數化,以及4種常用的容器類型;接著闡述了如何利用流程控制語句、函式、模組合理地組織Julia代碼;*後講解了基於Julia語言的接口編程和元編程,帶領大家走向Julia編程的進階之門。
圖書目錄
第一部分預備知識
第1章起步2
1.1初識Julia2
1.1.1為什麼要有Julia2
1.1.2主要特性2
1.1.3更多的特性3
1.2安裝和啟動4
1.3編寫第一個程式6
1.4改進第一個程式9
1.5小結11
第2章編程環境12
2.1REPL環境及其用法12
2.1.1初探REPL12
2.1.2主要的4種模式14
2.1.3快捷鍵15
2.1.4代碼補全16
2.2程式包與環境配置17
2.2.1倉庫目錄17
2.2.2環棕己設龍境配置18
2.3項目的創建與引入20
2.3.1項目的創建21
2.3.2程式包的引入23
2.4小結24
第二部分基本的定義
第3章變數與常量26
3.1變數的定義27
3.2變數的命名27
3.2.1一般規則28
3.2.2變數名與關鍵字29
3.2.3變數名與作用域29
3.3變數的類型30
3.3.1類型標註31
3.3.2類型斷言33
3.4常笑記慨虹量34
3.5小結38
第4章類型系統39
4.1概述40
4.1.1三個要點40
4.1.2一個特點41
4.2類型與值42
4.3兩個特殊類型43
4.3.1Any類型43
4.3.2Union{}類型43
4.4三種主要類型45
4.4.1抽象類型45
4.4.2原語類型47
4.4.3複合類型48
4.5小結53
第5章數值與運算54
5.1數值的類型54
5.2整數55
5.2.1類型與取值55
5.2.2表示方法56
5.2.3關於溢出58
5.2.4BigInt59
5.3浮點數60
5.3.1精度與換算60
5.3.2值的表示62
5.3.3特殊的浮點數63
5.3.4BigFloat65
5.4複數和有理數67
5.4.1複數67
5.4.2有理數68
5.5常用的數學運算69
5.5.1數學運算符欠贈棕70
5.5.2位運算符70
5.5.3運算同時賦汽欠諒值73
5.5.4數值的比較74
5.5.5操作符的優先權76
5.6數值類型的提升77
5.7數學函式速覽80
5.8小結81
第6章字元和字元串82
6.1Unicode字元82
6.2字元83
6.2.1值的表示與操作83
6.2.2類型與轉換86
6.3字元串87
6.3.1值的表示87
6.3.2類型之上的設定89
6.3.3操作字元串90
6.4非常規的字元串值101
6.4.1原始字元串101
6.4.2整數和浮點數102
6.4.3版本號103
6.4.4正則表達式105
6.4.5位元組數組109
6.5小結110
第7章參數化類型112
7.1類型的參數化112
7.1.1基本特徵113
7.1.2參數化複合類型113
7.1.3參數化抽象類型119
7.1.4參數化原語類型121
7.2參數化的更多知識122
7.2.1類型參數的值域122
7.2.2類型的類型123
7.2.3值化的表示法124
7.3容器:元組125
7.3.1元組概述126
7.3.2普通的元組127
7.3.3有名的元組130
7.3.4可變參數的元組132
7.4小結134
第8章容器:字典與集合135
8.1索引與疊代135
8.1.1索引與可索引對象135
8.1.2疊代與可疊代對象137
8.2標準字典138
8.2.1規則與約束138
8.2.2類型與實例化139
8.2.3操作字典145
8.3集合156
8.3.1類型與實例化157
8.3.2操作集合158
8.4通用操作161
8.5小結162
第9章容器:數組(上)163
9.1類型164
9.2數組的表示166
9.3數組的構造170
9.4數組的基本要素174
9.5訪問元素值175
9.5.1索引175
9.5.2疊代181
9.5.3搜尋183
9.6修改元素值187
9.6.1索引187
9.6.2視圖188
9.6.3一籃棗些專用函式193
9.7小結194
第10章容器:數組(下)196
10.1廣播式的修改196
10.2元素值的排序201
10.3數組的複製210
10.4數組的拼接214
10.5數組的比較219
10.6再說數組的構造222
10.7小結228
第三部分代碼的組織
第11章流程控制230
11.1簡單的代碼塊231
11.2if語句232
11.3for語句236
11.4while語句243
11.5let語句247
11.6錯誤的報告與處理249
11.6.1程式錯誤的載體249
11.6.2異常的拋出250
11.6.3異常的處理254
11.7小結259
第12章函式與方法260
12.1什麼是函式260
12.2Julia中的函式261
12.3基本的編寫方式263
12.3.1標準形式263
12.3.2簡潔形式267
12.3.3匿名函式268
12.4函式的參數270
12.4.1可選參數270
12.4.2關鍵字參數272
12.4.3可變參數274
12.5函式的結果277
12.6衍生方法279
12.6.1泛化函式279
12.6.2方法的定義281
12.6.3方法的選擇283
12.7函式的參數化287
12.8do代碼塊289
12.9小結291
第13章模組293
13.1程式中的模組293
13.2模組的導入與使用295
13.3模組的引入路徑296
13.4標準模組299
13.5小結300
第四部分進階之門
第14章接口編程302
14.1什麼是接口編程302
14.2接口編程的好處305
14.3接口編程的運用306
14.4兩種接口315
14.5小結316
第15章關於元編程317
15.1什麼是元編程317
15.2元編程入門318
15.2.1代碼的解析318
15.2.2代碼的執行322
15.3進階用法324
15.3.1真正的求值函式324
15.3.2表達式值的構建326
15.3.3表達式中的插值329
15.4元編程利器:宏331
15.5小結334
附錄A重要名詞解釋335
附錄B系統環境變數338
作者簡介
郝林,國內知名的編程技術布道者,擁有超過15年的軟體研發經驗,曾多次擔任國內技術大會的演講嘉賓,發表過不少廣受好評的免費技術教程和暢銷的技術專欄、圖書,如《Go語言核心36講》《Go並發編程實戰》《Go命令教程》等。同時,他也是技術社群“代碼即未來”和“GoHakcers”的發起人和組織者。
第10章容器:數組(下)196
10.1廣播式的修改196
10.2元素值的排序201
10.3數組的複製210
10.4數組的拼接214
10.5數組的比較219
10.6再說數組的構造222
10.7小結228
第三部分代碼的組織
第11章流程控制230
11.1簡單的代碼塊231
11.2if語句232
11.3for語句236
11.4while語句243
11.5let語句247
11.6錯誤的報告與處理249
11.6.1程式錯誤的載體249
11.6.2異常的拋出250
11.6.3異常的處理254
11.7小結259
第12章函式與方法260
12.1什麼是函式260
12.2Julia中的函式261
12.3基本的編寫方式263
12.3.1標準形式263
12.3.2簡潔形式267
12.3.3匿名函式268
12.4函式的參數270
12.4.1可選參數270
12.4.2關鍵字參數272
12.4.3可變參數274
12.5函式的結果277
12.6衍生方法279
12.6.1泛化函式279
12.6.2方法的定義281
12.6.3方法的選擇283
12.7函式的參數化287
12.8do代碼塊289
12.9小結291
第13章模組293
13.1程式中的模組293
13.2模組的導入與使用295
13.3模組的引入路徑296
13.4標準模組299
13.5小結300
第四部分進階之門
第14章接口編程302
14.1什麼是接口編程302
14.2接口編程的好處305
14.3接口編程的運用306
14.4兩種接口315
14.5小結316
第15章關於元編程317
15.1什麼是元編程317
15.2元編程入門318
15.2.1代碼的解析318
15.2.2代碼的執行322
15.3進階用法324
15.3.1真正的求值函式324
15.3.2表達式值的構建326
15.3.3表達式中的插值329
15.4元編程利器:宏331
15.5小結334
附錄A重要名詞解釋335
附錄B系統環境變數338
作者簡介
郝林,國內知名的編程技術布道者,擁有超過15年的軟體研發經驗,曾多次擔任國內技術大會的演講嘉賓,發表過不少廣受好評的免費技術教程和暢銷的技術專欄、圖書,如《Go語言核心36講》《Go並發編程實戰》《Go命令教程》等。同時,他也是技術社群“代碼即未來”和“GoHakcers”的發起人和組織者。