In the Go programming language, is it possible to obtain a variable's type as a string? -


i'm unfamiliar go programming language, , i've been trying find way type of variable string. far, haven't found works. i've tried using typeof(variablename) obtain variable's type string, doesn't appear valid.

does go have built-in operator can obtain variable's type string, similar javascript's typeof operator or python's type operator?

//trying print variable's type string: package main  import "fmt"  func main() {     num := 3     fmt.println(typeof(num))     //i expected print "int", typeof appears invalid function name. } 

there's typeof function in reflect package:

package main  import "fmt" import "reflect"  func main() {     num := 3     fmt.println(reflect.typeof(num)) } 

this outputs:

 int 

update: updated question specifying want type string. typeof returns type, has name method returns type string. so

typestr := reflect.typeof(num).name() 

update 2: more thorough, should point out have choice between calling name() or string() on type; they're different:

// name returns type's name within package. // returns empty string unnamed types. name() string 

versus:

// string returns string representation of type. // string representation may use shortened package names // (e.g., base64 instead of "encoding/base64") , not // guaranteed unique among types.  test equality, // compare types directly. string() string 

Comments

Popular posts from this blog

html5 - What is breaking my page when printing? -

c# - must be a non-abstract type with a public parameterless constructor in redis -

ajax - PHP/JSON Login script (Twitter style) not setting sessions -