美文网首页JuliaJulia语言
Julia快速入门(一)函数 字符串

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

作者: Julia语言 | 来源:发表于2018-11-15 14:49 被阅读60次

    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

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

    相关文章

      网友评论

        本文标题:Julia快速入门(一)函数 字符串

        本文链接:https://www.haomeiwen.com/subject/fnryfqtx.html