如何在julia中创建struct?

时间:2019-05-30 04:01:39

标签: struct julia

我正在尝试创建结构txn:

a)

struct txn
txn_id::Int64
bank::Char[20]
branch::Char[20]
teller::Char[20]
customer::Char[20]
account::Char[34]
timestamp::DateTime
dr_cr::Char[2]
amount::Int64
end

geives Error: TypeError: in txn, in type definition, expected Type, got Array{Char, 1}

b)

struct txn
txn_id::Int64
bank::Char(20)
branch::Char(20)
teller::Char(20)
customer::Char(20)
account::Char(34)
timestamp::DateTime
dr_cr::Char(2)
amount::Int64
end

给予Error: TypeError: in txn, in type definition, expected Type, got Char

请帮助我在julia中创建结构。

1 个答案:

答案 0 :(得分:4)

在Julia中,Char的数组不等于String。语法Char(80)创建一个字符:

julia> Char(80)
'P': ASCII/Unicode U+0050 (category Lu: Letter, uppercase)

语法Char[80, 81, 82]创建了一个Char s数组:

julia> Char[80, 81, 82]
3-element Array{Char,1}:
 'P'
 'Q'
 'R'

我们可以看到字符数组不等同于字符串(请注意,字符也可以用单引号表示):

julia> ['a', 'b', 'c'] == "abc"
false

尝试使用String类型在结构中定义字符串字段:

julia> struct Person
           name::String
       end

julia> p = Person("Bob")
Person("Bob")