| // Copyright 2013 Frank Schroeder. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package goproperties |
| |
| type Properties struct { |
| m map[string]string |
| } |
| |
| // Returns the value for the given key. |
| func (p *Properties) Get(key string) (value string, ok bool) { |
| value, ok = p.m[key] |
| return value, ok |
| } |
| |
| // Sets the property key to the given value and returns the previous value if exists or an empty string. |
| func (p *Properties) Set(key, value string) (prevValue string) { |
| prevValue, ok := p.m[key] |
| if !ok { |
| prevValue = "" |
| } |
| |
| p.m[key] = value |
| return prevValue |
| } |
| |
| // Returns the number of keys. |
| func (p *Properties) Len() int { |
| return len(p.m) |
| } |