本文整理汇总了Golang中github.com/jrperritt/rack/internal/github.com/codegangsta/cli.Context.String方法的典型用法代码示例。如果您正苦于以下问题:Golang Context.String方法的具体用法?Golang Context.String怎么用?Golang Context.String使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/jrperritt/rack/internal/github.com/codegangsta/cli.Context
的用法示例。
在下文中一共展示了Context.String方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestApp_RunAsSubcommandParseFlags
func TestApp_RunAsSubcommandParseFlags(t *testing.T) {
var context *cli.Context
a := cli.NewApp()
a.Commands = []cli.Command{
{
Name: "foo",
Action: func(c *cli.Context) {
context = c
},
Flags: []cli.Flag{
cli.StringFlag{
Name: "lang",
Value: "english",
Usage: "language for the greeting",
},
},
Before: func(_ *cli.Context) error { return nil },
},
}
a.Run([]string{"", "foo", "--lang", "spanish", "abcd"})
expect(t, context.Args().Get(0), "abcd")
expect(t, context.String("lang"), "spanish")
}
示例2: configfile
func configfile(c *cli.Context, have map[string]authCred, need map[string]string) error {
dir, err := util.RackDir()
if err != nil {
// return fmt.Errorf("Error retrieving rack directory: %s\n", err)
return nil
}
f := path.Join(dir, "config")
cfg, err := ini.Load(f)
if err != nil {
// return fmt.Errorf("Error loading config file: %s\n", err)
return nil
}
cfg.BlockMode = false
var profile string
if c.GlobalIsSet("profile") {
profile = c.GlobalString("profile")
} else if c.IsSet("profile") {
profile = c.String("profile")
}
section, err := cfg.GetSection(profile)
if err != nil && profile != "" {
return fmt.Errorf("Invalid config file profile: %s\n", profile)
}
for opt := range need {
if val := section.Key(opt).String(); val != "" {
have[opt] = authCred{value: val, from: fmt.Sprintf("config file (profile: %s)", section.Name())}
delete(need, opt)
}
}
return nil
}
示例3: CLIopts
func CLIopts(c *cli.Context, have map[string]Cred, need map[string]string) {
for opt := range need {
if c.IsSet(opt) {
have[opt] = Cred{Value: c.String(opt), From: "command-line"}
delete(need, opt)
}
}
}
示例4: cliopts
func cliopts(c *cli.Context, have map[string]authCred, need map[string]string) {
for opt := range need {
if c.GlobalIsSet(opt) {
have[opt] = authCred{value: c.GlobalString(opt), from: "command-line"}
delete(need, opt)
} else if c.IsSet(opt) {
have[opt] = authCred{value: c.String(opt), from: "command-line"}
delete(need, opt)
}
}
}
示例5: ConfigFile
func ConfigFile(c *cli.Context, have map[string]Cred, need map[string]string) error {
var profile string
if c.IsSet("profile") {
profile = c.String("profile")
}
section, err := ProfileSection(profile)
if err != nil {
return err
}
if section == nil {
return nil
}
for opt := range need {
if val := section.Key(opt).String(); val != "" {
have[opt] = Cred{Value: val, From: fmt.Sprintf("config file (profile: %s)", section.Name())}
delete(need, opt)
}
}
if profile != "" {
section, err := ProfileSection("")
if err != nil {
return err
}
for opt := range need {
if val := section.Key(opt).String(); val != "" {
have[opt] = Cred{Value: val, From: fmt.Sprintf("config file (profile: default)")}
delete(need, opt)
}
}
}
return nil
}