JuliaJulia语言

Julia快速入门(一)函数 字符串

2018-11-15  本文已影响60人  Julia语言

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

点击阅读原文可查看历史文章

上一篇下一篇

猜你喜欢

热点阅读