本文整理汇总了Golang中fmt.Sprintf函数的典型用法代码示例。如果您正苦于以下问题:Golang Sprintf函数的具体用法?Golang Sprintf怎么用?Golang Sprintf使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Sprintf函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: describeServicePorts
func describeServicePorts(spec kapi.ServiceSpec) string {
switch len(spec.Ports) {
case 0:
return " no ports"
case 1:
port := portOrNodePort(spec, spec.Ports[0])
if spec.Ports[0].TargetPort.String() == "0" || spec.ClusterIP == kapi.ClusterIPNone || port == spec.Ports[0].TargetPort.String() {
return fmt.Sprintf(":%s", port)
}
return fmt.Sprintf(":%s -> %s", port, spec.Ports[0].TargetPort.String())
default:
pairs := []string{}
for _, port := range spec.Ports {
externalPort := portOrNodePort(spec, port)
if port.TargetPort.String() == "0" || spec.ClusterIP == kapi.ClusterIPNone {
pairs = append(pairs, externalPort)
continue
}
if port.Port == int(port.TargetPort.IntVal) {
pairs = append(pairs, port.TargetPort.String())
} else {
pairs = append(pairs, fmt.Sprintf("%s->%s", externalPort, port.TargetPort.String()))
}
}
return " ports " + strings.Join(pairs, ", ")
}
}
开发者ID:iconoeugen,项目名称:origin,代码行数:29,代码来源:projectstatus.go
示例2: Tr
// Tr translate content to target language.
func Tr(lang, format string, args ...interface{}) string {
var section string
parts := strings.SplitN(format, ".", 2)
if len(parts) == 2 {
section = parts[0]
format = parts[1]
}
value, ok := locales.Get(lang, section, format)
if ok {
format = value
}
if len(args) > 0 {
params := make([]interface{}, 0, len(args))
for _, arg := range args {
if arg != nil {
val := reflect.ValueOf(arg)
if val.Kind() == reflect.Slice {
for i := 0; i < val.Len(); i++ {
params = append(params, val.Index(i).Interface())
}
} else {
params = append(params, arg)
}
}
}
return fmt.Sprintf(format, params...)
}
return fmt.Sprintf(format)
}
开发者ID:CodingDance,项目名称:harbor,代码行数:32,代码来源:i18n.go
示例3: RenderSpecialLink
func RenderSpecialLink(rawBytes []byte, urlPrefix string) []byte {
ms := MentionPattern.FindAll(rawBytes, -1)
for _, m := range ms {
rawBytes = bytes.Replace(rawBytes, m,
[]byte(fmt.Sprintf(`<a href="/user/%s">%s</a>`, m[1:], m)), -1)
}
ms = commitPattern.FindAll(rawBytes, -1)
for _, m := range ms {
m = bytes.TrimSpace(m)
i := strings.Index(string(m), "commit/")
j := strings.Index(string(m), "#")
if j == -1 {
j = len(m)
}
rawBytes = bytes.Replace(rawBytes, m, []byte(fmt.Sprintf(
` <code><a href="%s">%s</a></code>`, m, ShortSha(string(m[i+7:j])))), -1)
}
ms = issueFullPattern.FindAll(rawBytes, -1)
for _, m := range ms {
m = bytes.TrimSpace(m)
i := strings.Index(string(m), "issues/")
j := strings.Index(string(m), "#")
if j == -1 {
j = len(m)
}
rawBytes = bytes.Replace(rawBytes, m, []byte(fmt.Sprintf(
` <a href="%s">#%s</a>`, m, ShortSha(string(m[i+7:j])))), -1)
}
ms = issueIndexPattern.FindAll(rawBytes, -1)
for _, m := range ms {
rawBytes = bytes.Replace(rawBytes, m, []byte(fmt.Sprintf(
`<a href="%s/issues/%s">%s</a>`, urlPrefix, m[1:], m)), -1)
}
return rawBytes
}
开发者ID:Julianzz,项目名称:gogs,代码行数:35,代码来源:markdown.go
示例4: validateDefaultValueSchemaAgainstSchema
func (s *SpecValidator) validateDefaultValueSchemaAgainstSchema(path, in string, schema *spec.Schema) *Result {
res := new(Result)
if schema != nil {
if schema.Default != nil {
res.Merge(NewSchemaValidator(schema, s.spec.Spec(), path, s.KnownFormats).Validate(schema.Default))
}
if schema.Items != nil {
if schema.Items.Schema != nil {
res.Merge(s.validateDefaultValueSchemaAgainstSchema(path+".items", in, schema.Items.Schema))
}
for i, sch := range schema.Items.Schemas {
res.Merge(s.validateDefaultValueSchemaAgainstSchema(fmt.Sprintf("%s.items[%d]", path, i), in, &sch))
}
}
if schema.AdditionalItems != nil && schema.AdditionalItems.Schema != nil {
res.Merge(s.validateDefaultValueSchemaAgainstSchema(fmt.Sprintf("%s.additionalItems", path), in, schema.AdditionalItems.Schema))
}
for propName, prop := range schema.Properties {
res.Merge(s.validateDefaultValueSchemaAgainstSchema(path+"."+propName, in, &prop))
}
for propName, prop := range schema.PatternProperties {
res.Merge(s.validateDefaultValueSchemaAgainstSchema(path+"."+propName, in, &prop))
}
if schema.AdditionalProperties != nil && schema.AdditionalProperties.Schema != nil {
res.Merge(s.validateDefaultValueSchemaAgainstSchema(fmt.Sprintf("%s.additionalProperties", path), in, schema.AdditionalProperties.Schema))
}
for i, aoSch := range schema.AllOf {
res.Merge(s.validateDefaultValueSchemaAgainstSchema(fmt.Sprintf("%s.allOf[%d]", path, i), in, &aoSch))
}
}
return res
}
开发者ID:MStoykov,项目名称:go-swagger,代码行数:33,代码来源:spec.go
示例5: Run
// Run runs the the tunnel session
func (s *Session) Run() (err error) {
defer s.recoverPanic("Session.Run")
go func() {
defer s.recoverPanic("Session.mux.Wait")
code, err, debug1 := s.mux.Wait()
// s.Info("Session mux shutdown with code %v error %v debug %v", code, err, debug)
log.Println(fmt.Sprintf("[INFO] Session mux shutdown with code %v error %v debug %v", code, err, debug1))
}()
defer s.mux.Close()
// A tunnel session starts with an auth stream
if err = s.handleAuth(); err != nil {
return
}
// then we handle new streams sent from the client
for {
stream, err := s.mux.Accept()
if err != nil {
s.Shutdown()
err := fmt.Errorf(fmt.Sprintf("Failed to accept stream: %v", err))
log.Println(fmt.Sprintf("[ERROR] %v", err))
return err
}
go s.handleStream(conn.Wrap(stream, "stream", s.id))
}
}
开发者ID:shenshouer,项目名称:go-tunnel,代码行数:31,代码来源:session.go
示例6: newRepo
func newRepo(name string, simpleDocker SimpleDocker.SimpleDocker) (Repo, error) {
log.WithFields(log.Fields{
"name": name,
}).Info("Creating new repo")
r := Repo{
Name: name,
SimpleDocker: simpleDocker,
}
startTime := time.Now()
repoName := fmt.Sprintf("ihsw/%s", name)
if err := r.pullImage(repoName); err != nil {
log.WithFields(log.Fields{
"name": name,
"err": err.Error(),
"repoName": repoName,
}).Warn("Could not pull image")
return Repo{}, err
}
log.WithFields(log.Fields{
"name": name,
"duration": fmt.Sprintf("%v", time.Now().Sub(startTime)),
}).Info("Repo create success")
return r, nil
}
开发者ID:galactic-filament,项目名称:the-matrix,代码行数:29,代码来源:Repo.go
示例7: buildURL
// buildURL builds the URL for the operation.
func (s *IndicesGetTemplateService) buildURL() (string, url.Values, error) {
// Build URL
var err error
var path string
if len(s.name) > 0 {
path, err = uritemplates.Expand("/_template/{name}", map[string]string{
"name": strings.Join(s.name, ","),
})
} else {
path = "/_template"
}
if err != nil {
return "", url.Values{}, err
}
// Add query string parameters
params := url.Values{}
if s.pretty {
params.Set("pretty", "1")
}
if s.flatSettings != nil {
params.Set("flat_settings", fmt.Sprintf("%v", *s.flatSettings))
}
if s.local != nil {
params.Set("local", fmt.Sprintf("%v", *s.local))
}
return path, params, nil
}
开发者ID:hackintoshrao,项目名称:minio,代码行数:29,代码来源:indices_get_template.go
示例8: Dot
func (f *Field) Dot() string {
s := "digraph G {\n"
// nodes
for _, n := range *f {
s += fmt.Sprintf(
"\t%s [shape=box,label=\"%s\"];\n",
n.Name(),
NodeLabel(n),
//n,
)
}
s += "\n"
// edges
for _, n := range *f {
D("Dot: adding edges for %d children of %s", len(n.Children()), n.Name())
for _, child := range n.Children() {
s += fmt.Sprintf("\t%s -> %s;\n", n.Name(), child.Name())
}
}
s += "}"
return s
}
开发者ID:nilslice,项目名称:goop,代码行数:25,代码来源:field.go
示例9: Error
func (e *exitError) Error() string {
if e.cause != nil {
return fmt.Sprintf("task: non-zero exit (%v): %v", e.code, e.cause)
}
return fmt.Sprintf("task: non-zero exit (%v)", e.code)
}
开发者ID:msabansal,项目名称:docker,代码行数:7,代码来源:controller.go
示例10: describeDeployments
func describeDeployments(f formatter, dcNode *deploygraph.DeploymentConfigNode, activeDeployment *kubegraph.ReplicationControllerNode, inactiveDeployments []*kubegraph.ReplicationControllerNode, count int) []string {
if dcNode == nil {
return nil
}
out := []string{}
deploymentsToPrint := append([]*kubegraph.ReplicationControllerNode{}, inactiveDeployments...)
if activeDeployment == nil {
on, auto := describeDeploymentConfigTriggers(dcNode.DeploymentConfig)
if dcNode.DeploymentConfig.Status.LatestVersion == 0 {
out = append(out, fmt.Sprintf("deployment #1 waiting %s", on))
} else if auto {
out = append(out, fmt.Sprintf("deployment #%d pending %s", dcNode.DeploymentConfig.Status.LatestVersion, on))
}
// TODO: detect new image available?
} else {
deploymentsToPrint = append([]*kubegraph.ReplicationControllerNode{activeDeployment}, inactiveDeployments...)
}
for i, deployment := range deploymentsToPrint {
out = append(out, describeDeploymentStatus(deployment.ReplicationController, i == 0, dcNode.DeploymentConfig.Spec.Test))
switch {
case count == -1:
if deployutil.DeploymentStatusFor(deployment) == deployapi.DeploymentStatusComplete {
return out
}
default:
if i+1 >= count {
return out
}
}
}
return out
}
开发者ID:iconoeugen,项目名称:origin,代码行数:35,代码来源:projectstatus.go
示例11: TestMountMoreThan42Layers
func TestMountMoreThan42Layers(t *testing.T) {
d := newDriver(t)
defer os.RemoveAll(tmp)
defer d.Cleanup()
var last string
var expected int
for i := 1; i < 127; i++ {
expected++
var (
parent = fmt.Sprintf("%d", i-1)
current = fmt.Sprintf("%d", i)
)
if parent == "0" {
parent = ""
} else {
parent = hash(parent)
}
current = hash(current)
if err := d.Create(current, parent); err != nil {
t.Logf("Current layer %d", i)
t.Fatal(err)
}
point, err := d.Get(current)
if err != nil {
t.Logf("Current layer %d", i)
t.Fatal(err)
}
f, err := os.Create(path.Join(point, current))
if err != nil {
t.Logf("Current layer %d", i)
t.Fatal(err)
}
f.Close()
if i%10 == 0 {
if err := os.Remove(path.Join(point, parent)); err != nil {
t.Logf("Current layer %d", i)
t.Fatal(err)
}
expected--
}
last = current
}
// Perform the actual mount for the top most image
point, err := d.Get(last)
if err != nil {
t.Fatal(err)
}
files, err := ioutil.ReadDir(point)
if err != nil {
t.Fatal(err)
}
if len(files) != expected {
t.Fatalf("Expected %d got %d", expected, len(files))
}
}
开发者ID:johntdyer,项目名称:golang-devops-stuff,代码行数:60,代码来源:aufs_test.go
示例12: describeRouteInServiceGroup
func describeRouteInServiceGroup(f formatter, routeNode *routegraph.RouteNode) []string {
// markers should cover printing information about admission failure
requested, other, errors := extractRouteInfo(routeNode.Route)
var lines []string
if requested {
lines = append(lines, describeRouteExposed(routeNode.Spec.Host, routeNode.Route, len(errors) > 0))
}
for _, s := range other {
lines = append(lines, describeRouteExposed(s, routeNode.Route, len(errors) > 0))
}
if len(lines) == 0 {
switch {
case len(errors) >= 1:
// router rejected the output
lines = append(lines, fmt.Sprintf("%s not accepted: %s", f.ResourceName(routeNode), errors[0]))
case len(routeNode.Spec.Host) == 0:
// no errors or output, likely no router running and no default domain
lines = append(lines, fmt.Sprintf("%s has no host set", f.ResourceName(routeNode)))
case len(routeNode.Status.Ingress) == 0:
// host set, but no ingress, an older legacy router
lines = append(lines, describeRouteExposed(routeNode.Spec.Host, routeNode.Route, false))
default:
// multiple conditions but no host exposed, use the generic legacy output
lines = append(lines, fmt.Sprintf("exposed as %s by %s", routeNode.Spec.Host, f.ResourceName(routeNode)))
}
}
return lines
}
开发者ID:iconoeugen,项目名称:origin,代码行数:28,代码来源:projectstatus.go
示例13: describeDeploymentInServiceGroup
func describeDeploymentInServiceGroup(f formatter, deploy graphview.DeploymentConfigPipeline) []string {
local := namespacedFormatter{currentNamespace: deploy.Deployment.Namespace}
includeLastPass := deploy.ActiveDeployment == nil
if len(deploy.Images) == 1 {
format := "%s deploys %s %s"
if deploy.Deployment.Spec.Test {
format = "%s test deploys %s %s"
}
lines := []string{fmt.Sprintf(format, f.ResourceName(deploy.Deployment), describeImageInPipeline(local, deploy.Images[0], deploy.Deployment.Namespace), describeDeploymentConfigTrigger(deploy.Deployment.DeploymentConfig))}
if len(lines[0]) > 120 && strings.Contains(lines[0], " <- ") {
segments := strings.SplitN(lines[0], " <- ", 2)
lines[0] = segments[0] + " <-"
lines = append(lines, segments[1])
}
lines = append(lines, indentLines(" ", describeAdditionalBuildDetail(deploy.Images[0].Build, deploy.Images[0].LastSuccessfulBuild, deploy.Images[0].LastUnsuccessfulBuild, deploy.Images[0].ActiveBuilds, deploy.Images[0].DestinationResolved, includeLastPass)...)...)
lines = append(lines, describeDeployments(local, deploy.Deployment, deploy.ActiveDeployment, deploy.InactiveDeployments, 3)...)
return lines
}
format := "%s deploys %s"
if deploy.Deployment.Spec.Test {
format = "%s test deploys %s"
}
lines := []string{fmt.Sprintf(format, f.ResourceName(deploy.Deployment), describeDeploymentConfigTrigger(deploy.Deployment.DeploymentConfig))}
for _, image := range deploy.Images {
lines = append(lines, describeImageInPipeline(local, image, deploy.Deployment.Namespace))
lines = append(lines, indentLines(" ", describeAdditionalBuildDetail(image.Build, image.LastSuccessfulBuild, image.LastUnsuccessfulBuild, image.ActiveBuilds, image.DestinationResolved, includeLastPass)...)...)
lines = append(lines, describeDeployments(local, deploy.Deployment, deploy.ActiveDeployment, deploy.InactiveDeployments, 3)...)
}
return lines
}
开发者ID:iconoeugen,项目名称:origin,代码行数:32,代码来源:projectstatus.go
示例14: describeProjectAndServer
func describeProjectAndServer(f formatter, project *projectapi.Project, server string) string {
if len(server) == 0 {
return fmt.Sprintf("In project %s on server %s\n", projectapi.DisplayNameAndNameForProject(project), server)
}
return fmt.Sprintf("In project %s on server %s\n", projectapi.DisplayNameAndNameForProject(project), server)
}
开发者ID:iconoeugen,项目名称:origin,代码行数:7,代码来源:projectstatus.go
示例15: Check
func (checker *codecEqualChecker) Check(params []interface{}, names []string) (result bool, error string) {
gotContent, ok := params[0].(string)
if !ok {
return false, fmt.Sprintf("expected string, got %T", params[0])
}
expectContent := params[1]
expectContentBytes, err := checker.marshal(expectContent)
if err != nil {
return false, fmt.Sprintf("cannot marshal expected contents: %v", err)
}
var expectContentVal interface{}
if err := checker.unmarshal(expectContentBytes, &expectContentVal); err != nil {
return false, fmt.Sprintf("cannot unmarshal expected contents: %v", err)
}
var gotContentVal interface{}
if err := checker.unmarshal([]byte(gotContent), &gotContentVal); err != nil {
return false, fmt.Sprintf("cannot unmarshal obtained contents: %v; %q", err, gotContent)
}
if ok, err := DeepEqual(gotContentVal, expectContentVal); !ok {
return false, err.Error()
}
return true, ""
}
开发者ID:fabricematrat,项目名称:testing,代码行数:25,代码来源:codec.go
示例16: String
func (this *Castaway) String() string {
if this == nil {
return "nil"
}
keysForCastMapValueMessage := make([]int32, 0, len(this.CastMapValueMessage))
for k := range this.CastMapValueMessage {
keysForCastMapValueMessage = append(keysForCastMapValueMessage, k)
}
github_com_gogo_protobuf_sortkeys.Int32s(keysForCastMapValueMessage)
mapStringForCastMapValueMessage := "map[int32]MyWilson{"
for _, k := range keysForCastMapValueMessage {
mapStringForCastMapValueMessage += fmt.Sprintf("%v: %v,", k, this.CastMapValueMessage[k])
}
mapStringForCastMapValueMessage += "}"
keysForCastMapValueMessageNullable := make([]int32, 0, len(this.CastMapValueMessageNullable))
for k := range this.CastMapValueMessageNullable {
keysForCastMapValueMessageNullable = append(keysForCastMapValueMessageNullable, k)
}
github_com_gogo_protobuf_sortkeys.Int32s(keysForCastMapValueMessageNullable)
mapStringForCastMapValueMessageNullable := "map[int32]*MyWilson{"
for _, k := range keysForCastMapValueMessageNullable {
mapStringForCastMapValueMessageNullable += fmt.Sprintf("%v: %v,", k, this.CastMapValueMessageNullable[k])
}
mapStringForCastMapValueMessageNullable += "}"
s := strings.Join([]string{`&Castaway{`,
`CastMapValueMessage:` + mapStringForCastMapValueMessage + `,`,
`CastMapValueMessageNullable:` + mapStringForCastMapValueMessageNullable + `,`,
`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
`}`,
}, "")
return s
}
开发者ID:pascaldekloe,项目名称:colfer,代码行数:32,代码来源:castvalue.pb.go
示例17: getPlanInfo
// getPlanInfo returns the column metadata and a constructor for a new
// valuesNode for the virtual table. We use deferred construction here
// so as to avoid populating a RowContainer during query preparation,
// where we can't guarantee it will be Close()d in case of error.
func (e virtualTableEntry) getPlanInfo() (ResultColumns, nodeConstructor) {
var columns ResultColumns
for _, col := range e.desc.Columns {
columns = append(columns, ResultColumn{
Name: col.Name,
Typ: col.Type.ToDatumType(),
})
}
constructor := func(p *planner) (planNode, error) {
v := p.newContainerValuesNode(columns, 0)
err := e.tableDef.populate(p, func(datums ...parser.Datum) error {
if r, c := len(datums), len(v.columns); r != c {
panic(fmt.Sprintf("datum row count and column count differ: %d vs %d", r, c))
}
for i, col := range v.columns {
datum := datums[i]
if !(datum == parser.DNull || datum.ResolvedType().Equal(col.Typ)) {
panic(fmt.Sprintf("datum column %q expected to be type %s; found type %s",
col.Name, col.Typ, datum.ResolvedType()))
}
}
_, err := v.rows.AddRow(datums)
return err
})
if err != nil {
v.Close()
return nil, err
}
return v, nil
}
return columns, constructor
}
开发者ID:BramGruneir,项目名称:cockroach,代码行数:39,代码来源:virtual_schema.go
示例18: TestLogLevelDEV
// TestLogLevelDEV tests the basic functioning of the logger in DEV mode.
func TestLogLevelDEV(t *testing.T) {
t.Log("Given the need to log DEV and USER messages.")
{
t.Log("\tWhen we set the logging level to DEV.")
{
log.Init(&logdest, func() int { return log.DEV })
resetLog()
defer displayLog()
dt := time.Now().Format("2006/01/02 15:04:05")
log1 := fmt.Sprintf("%s log_test.go:81: DEV : context : FuncName : Message 1 no format\n", dt)
log2 := fmt.Sprintf("%s log_test.go:82: USER : context : FuncName : Message 2 with format: A, B\n", dt)
log3 := fmt.Sprintf("%s log_test.go:83: ERROR : context : FuncName : An error : Message 3 with format: C, D\n", dt)
log.Dev("context", "FuncName", "Message 1 no format")
log.User("context", "FuncName", "Message 2 with format: %s, %s", "A", "B")
log.Error("context", "FuncName", errors.New("An error"), "Message 3 with format: %s, %s", "C", "D")
if logdest.String() == log1+log2+log3 {
t.Logf("\t\t%v : Should log the expected trace line.", succeed)
} else {
t.Log("***>", logdest.String())
t.Log("***>", log1+log2+log3)
t.Errorf("\t\t%v : Should log the expected trace line.", failed)
}
}
}
}
开发者ID:coralproject,项目名称:sponge,代码行数:30,代码来源:log_test.go
示例19: Header
func (options *Html) Header(out *bytes.Buffer, text func() bool, level int, id string) {
marker := out.Len()
doubleSpace(out)
if id != "" {
out.WriteString(fmt.Sprintf("<h%d id=\"%s\">", level, id))
} else if options.flags&HTML_TOC != 0 {
// headerCount is incremented in htmlTocHeader
out.WriteString(fmt.Sprintf("<h%d id=\"toc_%d\">", level, options.headerCount))
} else {
out.WriteString(fmt.Sprintf("<h%d>", level))
}
tocMarker := out.Len()
if !text() {
out.Truncate(marker)
return
}
// are we building a table of contents?
if options.flags&HTML_TOC != 0 {
options.TocHeaderWithAnchor(out.Bytes()[tocMarker:], level, id)
}
out.WriteString(fmt.Sprintf("</h%d>\n", level))
}
开发者ID:freeformz,项目名称:vertigo,代码行数:26,代码来源:html.go
示例20: makeLinkVariables
func makeLinkVariables(service api.Service, machine string) []api.EnvVar {
prefix := makeEnvVariableName(service.ID)
var port string
if service.ContainerPort.Kind == util.IntstrString {
port = service.ContainerPort.StrVal
} else {
port = strconv.Itoa(service.ContainerPort.IntVal)
}
portPrefix := prefix + "_PORT_" + makeEnvVariableName(port) + "_TCP"
return []api.EnvVar{
{
Name: prefix + "_PORT",
Value: fmt.Sprintf("tcp://%s:%d", machine, service.Port),
},
{
Name: portPrefix,
Value: fmt.Sprintf("tcp://%s:%d", machine, service.Port),
},
{
Name: portPrefix + "_PROTO",
Value: "tcp",
},
{
Name: portPrefix + "_PORT",
Value: strconv.Itoa(service.Port),
},
{
Name: portPrefix + "_ADDR",
Value: machine,
},
}
}
开发者ID:asim,项目名称:kubernetes,代码行数:32,代码来源:rest.go
注:本文中的fmt.Sprintf函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论