Hello World
println("hello world")
几个简单函数
一个函数例子
# 一个用来计算球体体积的函数
function sphere_vol(r)
# julia允许使用unicode字符作为函数名(UTF-8编码)
# 所以单词"pi"和字符π都是可以使用的
return 4/3*pi*r^3
end
vol = sphere_vol(3)
println(vol)
函数快速定义
# 函数也可以通过这样的方式快速定义
quadratic(a, sqr_term, b) = (-b + sqr_term) / 2a
quadratic(1, 2, 3)
函数多返回值
quadratic(a, sqr_term, b) = (-b + sqr_term) / 2a
# 求解方程 0 = a*x^2+b*x+c, 参数类型可在函数定义时声明
function quadratic2(a::Float64, b::Float64, c::Float64)
# 与很多程序语言不一样的是,2*a可以用2a来表示
# 另外,a**2和pow(a,2)在Julia1.0.2中只能用a^2来表示了
sqr_term = sqrt(b^2-4a*c)
r1 = quadratic(a, sqr_term, b)
r2 = quadratic(a, -sqr_term, b)
# 函数可以同时传回多个返回值
# 如果函数中没有使用return来标明返回值,则函数会返回最后一段表达式中的变量
r1, r2
end
quad1, quad2 = quadratic2(2.0, -2.0, -12.0)
println("result 1: ", quad1)
# 程序输出: result 1: 3.0
println("result 2: ", quad2)
# 程序输出: result 2: -2.0
字符串
字符串定义
# 我们使用双引号"来定义字符串
# 和变量名一致,字符串中可以包含任意的unicode字符
s1 = "The quick brown fox jumps over the lazy dog α,β,γ"
println(s1)
# 程序输出: The quick brown fox jumps over the lazy dog α,β,γ
两种字符串打印函数
# println 会在输出末尾换行
# print 则不会这样
print("this")
print(" and")
print(" that.\n")
# 程序输出: this and that.
字符定义
# 字符可以使用单引号'来定义
c1 = 'a'
println(c1)
# 程序输出: a
# 可以用 Int() 来获取字符的ascii值
println(c1, " ascii value = ", Int(c1))
# 程序输出: a ascii value = 97
println("Int('α') == ", Int('α'))
# 程序输出: Int('α') == 945
字符串大小写转换
s1 = "The quick brown fox jumps over the lazy dog α,β,γ"
# 字符串可以简单地转换为全大写或是全小写
s1_caps = uppercase(s1)
s1_lower = lowercase(s1)
println(s1_caps, "\n", s1_lower)
# 程序输出: THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG Α,Β,Γ
# 程序输出: the quick brown fox jumps over the lazy dog α,β,γ
子字符串
s1 = "The quick brown fox jumps over the lazy dog α,β,γ"
# 子字符串的指针和数组是类似的
# (show函数会输出真实的值)
show(s1[1]); println()
# 程序输出: 'T'
# 与python不同,Julia中的index最小为1
show(s1[11]); println()
# 程序输出: 'b'
# 也可以使用这样的方法获取子字符串
show(s1[1:1]); println()
# 程序输出: "T"
# 与python不同,Julia中的右边的中括号是包括在内的
show(s1[1:10]); println()
# 程序输出: "The quick "
# end可以被用来指定字符串或是数组的末尾
show(s1[end-10:end]); println()
# 程序输出: "dog α,β,γ"
字符串嵌入
# julia支持字符串嵌入
a = "welcome"
b = "julia"
println("$a to $b.")
# 程序输出: welcome to julia.
# 这还可以用来完成计算
println("1 + 2 = $(1 + 2)")
# 程序输出: 1 + 2 = 3
字符串连接
# 字符串之间可以使用*运算符连接
# 使用*来代替+好像显得不那么直观
# 但大家觉得这样更好(PHPers也是这么想的😂)
# 因为加法一般具有交换律,而乘法则不一定了(如矩阵乘法,向量的叉乘)
# 字符串显然不具有交换律,所以就用*号了
s2 = "this" * " and" * " that"
println(s2)
# 程序输出: this and that
# 当然,你也可以使用string函数
s3 = string("this", " and", " that")
println(s3)
# 程序输出: this and that
欢迎关注微信公众账号Julia语言.jpg
点击阅读原文可查看历史文章
网友评论