Search Results

Search found 13 results on 1 pages for 'nevalu'.

Page 1/1 | 1 

  • Go - Pointer to map

    - by nevalu
    Having some maps defined as: var valueToSomeType = map[uint8]someType{...} var nameToSomeType = map[string]someType{...} I would want a variable that points to the address of the maps (to don't copy all variable). I tried it using: valueTo := &valueToSomeType nameTo := &nameToSomeType but at using valueTo[number], it shows internal compiler error: var without type, init: new How to get it?

    Read the article

  • Example about crypto/rand in Go

    - by nevalu
    Could put a little example about the use of crypto/rand [1]? The function Read has as parameter an array of bytes. Why? If it access to /dev/urandom to get the random data. func Read(b []byte) (n int, err os.Error) [1] http://golang.org/pkg/crypto/rand/

    Read the article

  • Add new types to Go

    - by nevalu
    I'm trying add new types for that been managed/used as in Go core types. To create new types is anything very interesting to validate data before of send it to a non-SQL DBMS or to check data from a form. Go uses univeral constants to define them at global level: var DateType = universe.DefineType("date", universePos, &dateType{}) In this case they're defined to be called from a package like types: var Date = &dateType{} I get these errors: test.go:58: o.lit undefined (cannot refer to unexported field lit) test.go:62: *dateType is not Type missing Pos() token.Position The code is based on: http://github.com/tav/go/blob/master/src/pkg/exp/eval/value.go http://github.com/tav/go/blob/master/src/pkg/exp/eval/type.go package main import ( "exp/eval" "fmt" // "go/token" ) // http://github.com/tav/go/blob/master/src/pkg/exp/eval/value.go type DateValue interface { eval.Value Get(*eval.Thread) string Set(*eval.Thread, string) } /* Date */ type dateV string func (v *dateV) String() string { return fmt.Sprint(*v) } func (v *dateV) Assign(t *eval.Thread, o eval.Value) { *v = dateV(o.(DateValue).Get(t)) } func (v *dateV) Get(*eval.Thread) string { return string(*v) } func (v *dateV) Set(t *eval.Thread, x string) { *v = dateV(x) } // http://github.com/tav/go/blob/master/src/pkg/exp/eval/type.go type Type interface { eval.Type // isDate returns true if this is a date type. isDate() bool } /* Common type */ type commonType struct{} // added func (commonType) isDate() bool { return false } /* Date */ type dateType struct { commonType } // * It should not be an universal constant //var universePos = token.Position{"<universe>", 0, 0, 0} // added //var DateType = universe.DefineType("date", universePos, &dateType{}) var Date = &dateType{} func (t *dateType) compat(o Type, conv bool) bool { t2, ok := o.lit().(*dateType) return ok && t == t2 } func (t *dateType) lit() Type { return t } func (t *dateType) isDate() bool { return true } func (t *dateType) String() string { return "<date>" } func (t *dateType) Zero() eval.Value { res := dateV("") return &res } /* Named types */ /* type NamedType struct { eval.NamedType Def Type }*/ type NamedType struct { // added // token.Position Name string // Underlying type. If incomplete is true, this will be nil. // If incomplete is false and this is still nil, then this is // a placeholder type representing an error. Def Type // True while this type is being defined. incomplete bool methods map[string]eval.Method } func (t *NamedType) isDate() bool { return t.Def.isDate() } /* *********************** */ func main() { print("foo") }

    Read the article

  • Go - Methods of an interface

    - by nevalu
    Would be correct the next way to implement the methods attached to an interface? (getKey, getData) type reader interface { getKey(ver uint) string getData() string } type location struct { reader fileLocation string err os.Error } func (self *location) getKey(ver uint) string {...} func (self *location) getData() string {...} func NewReader(fileLocation string) *location { _location := new(location) _location.fileLocation = fileLocation return _location }

    Read the article

  • Go - Generic function using an interface

    - by nevalu
    Since I've a similar function for 2 different data types: func GetStatus(value uint8) (string) {...} func GetStatus(name string) (string) {...} I would want to use a way more simple like: func GetStatus(value interface{}) (string) {...} Is possible to create a generic function using an interface? The data type could be checked using reflect.Typeof(value)

    Read the article

  • Go - Raise an exception

    - by nevalu
    I would want to raise an exception as it's made in Python or Java --to finish the program with an error message--. An error message could be returned to a parent function: func readFile(filename string) (content string, err os.Error) { content, err := ioutil.ReadFile(filename) if err != nil { return "", os.ErrorString("read " + filename + ": " + err) } return string(content), nil } but I want that it can be finished when the error is found. Would be correct the next one? func readFile(filename string) (content string) { content, err := ioutil.ReadFile(filename) defer func() { if err != nil { panic(err) } }() return string(content) }

    Read the article

  • Go - Concurrent method

    - by nevalu
    How to get a concurrent method? In my case, the library would be called from a program to get a value to each argument str --in method Get()--. When it's used Get() then it assigns a variable from type bytes.Buffer which it will have the value to return. The returned values --when it been concurrently called-- will be stored into a database or a file and it doesn't matter that its output been of FIFO way (from method). type test struct { foo uint8 bar uint8 } func NewTest(arg1 string) (*test, os.Error) {...} func (self *test) Get(str string) ([]byte, os.Error) { var format bytes.Buffer ... } I think that all code inner of method Get() should be put inner of go func() {...}(), and then to use a channel. Would there be a problem if it's called another method from Get()? Or would it also has to be concurrent?

    Read the article

  • Go - Data types for validation

    - by nevalu
    How to create a new data type for Go which to can check/validate its schema when is created a new variable (of that type)? By example, to validate if a string has 20 characters, I tried: // Format: 2006-01-12T06:06:06Z func date(str string) { if len(str) != 20 { fmt.Println("error") } } var Date = date() type Account struct { domain string username string created Date } but it fails because Date is not a type.

    Read the article

  • Data types for validation

    - by nevalu
    How to create a new data type which to can check/validate its schema when is created a new variable (of that type)? By example, to validate if a string has 20 characters, I tried: {{{ // Format: 2006-01-12T06:06:06Z func date(str string) { if len(str) != 20 { fmt.Println("error") } } var Date = date() type Account struct { domain string username string created Date } }}} but it faills because Date is not a type.

    Read the article

1