2012-04-06 37 views
8

Tôi thấy một số mã scala gán "_" cho một trường lớp, có nghĩa là gì? Cảm ơnđiều đó có nghĩa là gán "_" vào trường trong scala?

private var tk: TaggedKey = _ 
+0

http://stackoverflow.com/questions/9581444/first-steps-into-scala/9612735#9612735 (Tôi đã thử tổng quan về ~ 10 tập quán "_" bằng ngôn ngữ: –

Trả lời

20

Điều này có nghĩa là: gán giá trị mặc định. Giá trị mặc định được định nghĩa là null, 0 hoặc false tùy thuộc vào loại mục tiêu.

Nó được mô tả trong 4.2 Khai báo biến và các định nghĩa của The Scala Language Specification:

Một định nghĩa biến var x : T = _ có thể xuất hiện chỉ như là một thành viên của một bản mẫu. Nó giới thiệu một trường có thể thay đổi với loại T và giá trị mặc định ban đầu. Giá trị mặc định phụ thuộc vào loại T như sau:

0 - nếu T là Int hoặc một trong các loại subrange của nó,

0L - nếu T là Long,

0.0f - nếu T là Float ,

0.0d - nếu T là đôi,

false - nếu T là Boolean,

() - nếu T là Unit,

null - cho tất cả các loại khác T.

Các vấn đề liên quan