anchor.diff:  }
   ----
   
  +.Kotlin
  +[source,kotlin,role="secondary"]
  +----
  +class CommandMethod {
  +    @Command(description = ["Do something."])
  +    fun doit(@Option(names = ["-c"], defaultValue = "123") count: Int) {
  +        // ...
  +    }
  +}
  +----
  +
   Note that you can use the `${DEFAULT-VALUE}` <<Predefined Variables,variable>> in the `description` of the option or positional parameter and picocli will <<Show Default Values,show>> the actual default value.
   
   
   === Field Values
   For annotated fields, it is possible to declare the field with a value:
  -[source,java]
  +
  +.Java
  +[source,java,role="primary"]
   ----
   @Option(names = "-c", description = "The count (default: ${DEFAULT-VALUE})")
   int count = 123; // default value is 123
  +----
  +
  +.Kotlin
  +[source,kotlin,role="secondary"]
  +----
  +@Option(names = ["-c"], description = ["The count (default: \${DEFAULT-VALUE})"])
  +var count = 123 // default value is 123
   ----
   
   [WARNING]
  
positive.code: === Default Provider
  Finally, you can specify a default provider in the `@Command` annotation:
  
  [source,java]
  ----
  @Command(defaultValueProvider = MyDefaultProvider.class)
  class MyCommand // ...
  ----
  
  
negative.code: }
  ----
  
  .Kotlin
  [source,kotlin,role="secondary"]
  ----
  @Command(name = "defaults", mixinStandardHelpOptions = true, version = ["defaults 0.1"])
  class DefaultValueDemo<T> : Runnable {
  
      @Option(names = ["-x"])
      var x = 10
  
      @Option(names = ["-y"], defaultValue = "20")
      var y = 0
  
      @Spec lateinit var spec: CommandSpec
      
      override fun run() {
          val pr: ParseResult = spec.commandLine().parseResult
  
          for (option in spec.options()) {
              val name = option.longestName()
              println("$name was specified: ${pr.hasMatchedOption(option)}")
              println("$name=${pr.matchedOptionValue(name, -1)} " +
                      "(-1 means this option was not matched on command line)")
              println("$name=${option.getValue<T>()} (arg value or default)")
              println()
          }
      }
  }
  
  fun main(args: Array<String>) {
      CommandLine(DefaultValueDemo<Any>()).execute(*args)
  }
  ----
  
  == Multiple Values
  Multi-valued options and positional parameters are annotated fields that can capture multiple values from the command line.
  