Kotlin : Public get private set var

What is the correct way to define a var in kotlin that has a public getter and private (only internally modifiable) setter?


var setterVisibility: String = "abc" // Initializer required, not a nullable type
    private set // the setter is private and has the default implementation

See: Properties Getter and Setter


You can easily do it using the following approach:

var atmosphericPressure: Double = 760.0
    get() = field
    private set(value) { 
        field = value 
    }

Look at this story on Medium: Property, Getter and Setter in Kotlin.