- Learning Scala Programming
- Vikash Sharma
- 130字
- 2025-04-04 17:32:11
Symbol literals
A symbol has a name, and it can be defined as a single quote (') followed by alphanumeric identifier:
scala> val aSymbol = 'givenName
aSymbol: Symbol = 'givenName
scala> aSymbol.name
res10: String = givenName
We don't use symbols a lot in normal Scala programs. If we try to dig down deeper into symbols in Scala, we get to know that everything that we define in Scala and give a name to is a symbol. We can check the absolute type for a symbol:
scala> import scala.reflect.runtime.universe._
import scala.reflect.runtime.universe._
scala> typeOf[Symbol]
res12:reflect.runtime.universe.Type= scala.reflect.runtime.universe.Symbol
So this Symbol is from Scala's reflection package. We're not going to dig any deeper. If you're curious though, I would recommend going through the Scala documentation at http://docs.scala-lang.org/overviews/reflection/symbols-trees-types.html.
So that's all about Symbol literals.