本文整理汇总了Golang中fmt.Stringer类的典型用法代码示例。如果您正苦于以下问题:Golang Stringer类的具体用法?Golang Stringer怎么用?Golang Stringer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。

在下文中一共展示了Stringer类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: String

func String(s fmt.Stringer) string {
    if reflect.ValueOf(s).IsNil() {
        return ""
    }

    return s.String()
}

开发者ID:coreos,项目名称:coreos-metadata,代码行数:7,代码来源:metadata.go

示例2: TestGraphSupportsDownCasting

func TestGraphSupportsDownCasting(t *testing.T) {
    RegisterTestingT(t)

    graph := inject.NewGraph()

    var (
        d fmt.Stringer
    )

    graph.Define(&d, inject.NewProvider(NewD))
    graph.ResolveAll()

    Expect(d).To(Equal(NewD()))
    Expect(d.String()).To(Equal("&ImplD{}"))

    expectedString := `&graph\{
  definitions: \[
    &definition\{
      ptr: \*fmt\.Stringer=0x.*,
      provider: &provider\{
        constructor: func\(\) \*test\.ImplD,
        argPtrs: \[\]
      \},
      value: <\*test\.ImplD Value>
    \}
  \]
\}`
    Expect(graph.String()).To(MatchRegexp(expectedString))
}

开发者ID:jdef,项目名称:oinker-go,代码行数:29,代码来源:graph_test.go

示例3: TestInterfaces

func TestInterfaces(t *testing.T) {
    db, err := bolt.Open("my4.db", 0600, nil)
    if err != nil {
        t.Error(err.Error())
    }
    defer os.Remove("my4.db")
    defer db.Close()

    s := NewStore(db, []byte("interface"))

    var j fmt.Stringer = &MyType{"First", "Last"}
    s.Put([]byte("test"), &j)

    err = s.ForEach(func(str fmt.Stringer) {
        if str.String() != "First Last" {
            t.Errorf("unexpected string %s", str)
        }
    })
    if err != nil {
        t.Error(err.Error())
    }

    var i fmt.Stringer
    err = s.Get([]byte("test"), &i)
    if err != nil {
        t.Error(err.Error())
    } else {
        if i.String() != "First Last" {
            t.Errorf("unexpected string %s", i)
        }
    }
}

开发者ID:dz0ny,项目名称:stow,代码行数:32,代码来源:stow_test.go

示例4: Insert

// Insert adds a new item to the hash map or, if the key already exists,
// replaces the current item with the new one.
func (pm *ParMap) Insert(item fmt.Stringer) {
    key := item.String()
    shard := pm.getShard(key)
    shard.mutex.Lock()
    shard.index[key] = item
    shard.mutex.Unlock()
}

开发者ID:pombredanne,项目名称:pbtc,代码行数:9,代码来源:parmap.go

示例5: testStringMatch

func testStringMatch(t *testing.T, s fmt.Stringer, expected string) {
    actual := strings.TrimSpace(s.String())
    expected = strings.TrimSpace(expected)
    if actual != expected {
        t.Fatalf("Actual\n\n%s\n\nExpected:\n\n%s", actual, expected)
    }
}

开发者ID:malston,项目名称:terraform-provider-bosh,代码行数:7,代码来源:terraform_test.go

最后编辑: kuteng  文档更新时间: 2021-08-23 19:14   作者:kuteng