func (c *Config) GetFloat(key string) float64 {
	if c.data[key] == nil {
		return 0
	}
	i, ok := c.data[key].(float64)
	if !ok {
		return 0
	}
	return i
}
GetFloat gets the value from config for the key as float64
package launchbar
import (
	"encoding/json"
	"fmt"
	"io/ioutil"
	"os"
	"path"
	"time"
)
type ConfigValues map[string]interface{}
type Config struct {
	path string
	data map[string]interface{}
}
func NewConfig(p string) *Config {
	return loadConfig(p)
}
func NewConfigDefaults(p string, defaults ConfigValues) *Config {
	config := loadConfig(p)
	for k, v := range defaults {
		if _, found := config.data[k]; !found {
			config.data[k] = v
		}
	}
	config.save()
	return config
}
func (c *Config) Delete(keys ...string) {
	for _, key := range keys {
		delete(c.data, key)
	}
	c.save()
}
func (c *Config) Set(key string, val interface{}) {
	if !path.IsAbs(c.path) || path.Dir(path.Dir(c.path)) != os.ExpandEnv("$HOME/Library/Application Support/LaunchBar/Action Support") {
		panic(fmt.Sprintf("bad config path: %q", c.path))
	}
	c.data[key] = val
	c.save()
}
func (c *Config) Get(key string) interface{} {
	return c.data[key]
}
func (c *Config) GetString(key string) string {
	if c.data[key] == nil {
		return ""
	}
	return fmt.Sprintf("%v", c.data[key])
}
func (c *Config) GetInt(key string) int64 {
	if c.data[key] == nil {
		return 0
	}
	i, ok := c.data[key].(float64)
	if !ok {
		return 0
	}
	return int64(i)
}