简介
开始
资源
变量
可用的变量名
命名规范
整数和浮点数
整数
溢出
浮点数
浮点数类型的零
精度
任意精度的算术
代数系数
零和一
数学运算和基本函数
算术运算符
位运算符
复合赋值运算符
数值比较
链式比较
基本函数
复数和分数
复数
分数
字符串
字符
字符串基础
Unicode 和 UTF-8
内插
Triple-Quoted String Literals
一般操作
非标准字符串文本
字节数组文本
版本号常量
函数
参数传递行为
return
关键字
函数运算符
特殊名字的运算符
匿名函数
多返回值
变参函数
可选参数
关键字参数
默认值的求值作用域
函数参数的块语法
延伸阅读
控制流
复合表达式
条件求值
短路求值
重复求值: 循环
异常处理
任务(也称为协程)
变量的作用域
For 循环及 Comprehensions
常量
类型
类型声明
抽象类型
位类型
复合类型
不可变复合类型
被声明类型
多元组类型
类型共用体
参数化类型
类型别名
类型运算
方法
定义方法
方法歧义
参数化方法
关于可选参数和关键字参数
构造函数
外部构造方法
内部构造方法
部分初始化
参数化构造方法
案例:分数
类型转换和类型提升
类型转换
类型提升
模块
Summary of module usage
元编程(Release 0.4.0)
程序的表示
符号对象
表达式及其计算
Macros
宏
反射
多维数组
数组
稀疏矩阵
线性代数
矩阵分解
特殊矩阵
网络和流
基本流 I/O
文本 I/O
处理文件
简单的 TCP 例子
解析 IP 地址
并行计算
数据移动
并行映射和循环
Synchronization With Remote References
Scheduling
分布式数组
构造分布式数组
分布式数组运算
Shared Arrays (Experimental, UNIX-only feature)
ClusterManagers
日期和时间
构造函数
时间间隔/比较
访问函数
查询函数
时间间隔算术运算
调整函数
时间间隔
可空类型
创建
Nullable
对象
检查
Nullabe
对象是否含有数据
安全地访问
Nullable
对象的内部数据
Interacting With Julia
The different prompt modes
Key bindings
Tab 补全
运行外部程序
内插
引用
管道
调用 C 和 Fortran 代码
把 C 类型映射到 Julia
通过指针读取数据
用指针传递修改值
垃圾回收机制的安全
非常量函数说明
间接调用
调用方式
Accessing Global Variables
Passing Julia Callback Functions to C
C++
处理不同平台
嵌入式 Julia
高级嵌入
类型转换
调用 Julia 的函数
内存管理
处理数组
异常
扩展包
扩展包状态
添加和删除扩展包
安装未注册的扩展包
更新扩展包
Checkout, Pin and Free
开发扩展包
Initial Setup
Generating a New Package
Making Your Package Available
Publishing Your Package
Tagging Package Versions
Fixing Package Requirements
依赖关系
代码性能优化
避免全局变量
使用
@time
来衡量性能并且留心内存分配
Avoid containers with abstract type parameters
类型声明
把函数拆开
写“类型稳定”的函数
避免改变变量类型
分离核心函数
Access arrays in memory order, along columns
Pre-allocating outputs
Avoid string interpolation for I/O
处理有关舍弃的警告
小技巧
Performance Annotations
代码样式
写成函数,别写成脚本
避免类型过于严格
Handle excess argument diversity in the caller
如果函数修改了它的参数,在函数名后加
!
避免奇葩的类型集合
Try to avoid nullable fields
Avoid elaborate container types
使用和 Julia
base/
相同的命名传统
不要滥用 try-catch
不要把条件表达式用圆括号括起来
不要滥用 ...
Don’t use unnecessary static parameters
Avoid confusion about whether something is an instance or a type
不要滥用 macros
Don’t expose unsafe operations at the interface level
Don’t overload methods of base container types
Be careful with type equality
不要写
x->f(x)
常见问题
会话和 REPL
函数
类型,类型声明和构造方法
Nothingness and missing values
Julia 发行版
开发 Julia
与其它语言的区别
与 MATLAB 的区别
与 R 的区别
与 Python 的区别
The Standard Library
Introduction
Getting Around
All Objects
Types
Generic Functions
Syntax
Iteration
General Collections
Iterable Collections
Indexable Collections
Associative Collections
Set-Like Collections
Dequeues
Strings
I/O
Network I/O
Text I/O
Multimedia I/O
Memory-mapped I/O
Standard Numeric Types
Mathematical Operators
Mathematical Functions
Data Formats
Numbers
BigFloats
Random Numbers
Arrays
Combinatorics
Statistics
Signal Processing
Numerical Integration
Parallel Computing
Distributed Arrays
Shared Arrays (Experimental, UNIX-only feature)
System
C Interface
Errors
Tasks
Events
Reflection
Internals
Sparse Matrices
Linear Algebra
BLAS Functions
Constants
Filesystem
Punctuation
Sorting and Related Functions
Sorting Functions
Order-Related Functions
Sorting Algorithms
Package Manager Functions
Collections and Data Structures
PriorityQueue
Heap Functions
Graphics
Geometry
Unit and Functional Testing
Overview
Handlers
Macros
Functions
Testing Base Julia
Profiling
Basic usage
Accumulation and clearing
Options for controlling the display of profile results
Configuration
Function reference
Base.Cartesian
Principles of usage
Basic syntax
宏
@time
@which
@printf
@inbounds
@assert
@goto & @label
心得
数字分隔符
优化代码
使用宏
@inbounds
加速循环
节约空间
手动优化循环(manual loop unrolling)
调用C或Fortran加速
尽量使用一维数组
良好的编程习惯
Julia Language
Docs
»
Julia 文档
Edit on GitHub
Julia 文档
¶
手册
标准库
开发者文档
笔记
手册
¶
简介
开始
变量
整数和浮点数
数学运算和基本函数
复数和分数
字符串
函数
控制流
变量的作用域
类型
方法
构造函数
类型转换和类型提升
模块
元编程(Release 0.4.0)
多维数组
线性代数
网络和流
并行计算
日期和时间
可空类型
Interacting With Julia
运行外部程序
调用 C 和 Fortran 代码
嵌入式 Julia
扩展包
开发扩展包
代码性能优化
代码样式
常见问题
与其它语言的区别
标准库
¶
The Standard Library
Sparse Matrices
Linear Algebra
BLAS Functions
Constants
Filesystem
Punctuation
Sorting and Related Functions
Package Manager Functions
Collections and Data Structures
Graphics
Unit and Functional Testing
Testing Base Julia
Profiling
开发者文档
¶
Base.Cartesian
笔记
¶
宏
心得
优化代码