github.com/agrea/ptr@v0.2.0/README.md (about)

     1  # ptr
     2  
     3  <p align="center">
     4      <a href="https://travis-ci.org/agrea/ptr"><img src="https://travis-ci.org/agrea/ptr.svg?branch=master"></a>
     5      <a href="https://godoc.org/github.com/agrea/ptr"><img src="https://img.shields.io/badge/godoc-documentation-blue.svg"></a>
     6      <a href="https://codeclimate.com/github/agrea/ptr/maintainability"><img src="https://api.codeclimate.com/v1/badges/6220f7d67a8a2332b7df/maintainability" /></a>
     7  </p>
     8  
     9  The `ptr` package gives you some basic helpers for working with pointers in Go.
    10  The package is simply intended to make it easy to create pointers to things.
    11  E.g. instead of writing:
    12  
    13      s := "some string"
    14      b := &s
    15  
    16  You'd just write
    17  
    18      b := ptr.String("some string")
    19  
    20  ## Usage
    21  
    22      ptr.Bool(true)        // Returns *bool
    23      ptr.Byte(byte('a'))   // Returns *byte
    24      ptr.Float32(123.3)    // Returns *float32
    25      ptr.Float64(123.3)    // Returns *float64
    26      ptr.Int(123)          // Returns *int
    27      ptr.Int8(123)         // Returns *int8
    28      ptr.Int16(123)        // Returns *int16
    29      ptr.Int32(123)        // Returns *int32
    30      ptr.Int64(123)        // Returns *int64
    31      ptr.Rune(123)         // Returns *rune
    32      ptr.String("string")  // Returns *string
    33      ptr.Time(time.Now())  // Returns *time.Time
    34      ptr.Uint(123)         // Returns *uint
    35      ptr.Uint8(123)        // Returns *uint8
    36      ptr.Uint16(123)       // Returns *uint16
    37      ptr.Uint32(123)       // Returns *uint32
    38      ptr.Uint64(123)       // Returns *uint64
    39  
    40  ## Running the tests
    41  
    42      go test -v ./...
    43  
    44  ## License
    45  
    46  MIT