📜  Julia 中的变量

📅  最后修改于: 2022-05-13 01:55:22.789000             🧑  作者: Mango

Julia 中的变量

变量是赋予它们分配的内存位置的一些名称。这些内存位置用于存储可以通过使用位置名称访问的值,即变量。与 C 和Java不同,Julia 中的变量不需要使用数据类型编写。 Julia 通过分析分配给它的值的类型来自动分配变量类型。

声明和初始化变量:

Julia 中的变量可以通过写它们的名字来声明。不需要用它定义数据类型。初始化变量可以在声明变量时进行。这可以通过简单地为命名变量赋值来完成。

variable_name = value

变量 1

这些变量值可以是任何数据类型:字符串、整数、浮点数、数组等,根据用户需要。 Julia 会自动将数据类型分配给变量。

在 Julia 中命名变量的规则

  • Julia 中的变量名必须以下划线、字母(AZ 或 az)或大于 00A0(nbsp) 的 Unicode字符开头。
  • 变量名也可以包含数字(0-9)或!,但不能以这些开头。
  • (+、^ 等) 等运算符也可用于命名变量。
  • 变量名也可以写成下划线分隔的单词,但这不是一个好习惯,除非必要,否则必须避免。

例子:

# Julia program to define variables
  
# Assigning Integer
x = 10
  
# Assigning String
y = "Hello World"
  
# Assigning Float Value
z = -15
  
# Using Operator as variable name
+ = "a"
  
# Using Unicode as variable name
∀ = 30
  
println(x)
println(y)
println(z)
println(+)
println(∀)

输出:
变量-Julia-Output-011

如何获取变量数据类型?

Julia 在初始化变量时自行分配变量数据类型,但如果需要检查特定变量的数据类型怎么办? Julia 也会处理这些事情,如果需要检查变量数据类型,Julia 提供了一个预定义的函数typeof() 。此 typeof()函数将变量名称作为参数,并将返回其数据类型。此 typeof()函数可在println()语句中使用,以在控制台上显示数据类型。
例子:

# Julia program to use typeof() function
  
# Assigning Integer
x = 10
  
# Assigning String
y = "Hello World"
  
# Using typeof() function
println(typeof(x))
println(typeof(y))

输出:
变量-Julia-Output-021

变量的范围

变量的范围意味着可以从哪个代码块访问哪个变量。如果没有在同一个作用域块中定义,Julia 允许为同一个变量名分配不同的值。变量的范围块可以是for 循环while 循环函数()

例子:

# Julia program to define 
# Scope of a Variable
  
# Declaring a function
function Geeks(a)
  
  # Performing operation
  return a + b
end
  
# Defining for loop
for i in 5:10
  
  # Initializing variable
  b = i
  println(Geeks(1))
end

变量-Julia-Output-03

上面的代码会产生一个错误,因为变量 b 的范围仅限于 for 循环,而它是从函数Geeks() 访问的。为了解决这个错误,Julia 提供了一个关键字global 。此关键字使对变量全局所做的更改。使用global关键字:上面给出的代码由于变量范围而产生错误,也可以使用预定义的关键字“全局”来解决。此关键字用于定义全局变量,如果对变量进行任何更改,则这些更改将在全局范围内生效。

例子:

# Julia program to define 
# Scope of a Variable
  
# Declaring a function
function Geeks(a)
  
  # Performing operation
  return a + b
end
  
# Defining for loop
for i in 5:10
  
  # Initializing variable globally
  global b = i
  println(Geeks(1))
end

变量-Julia-Output-05