Answers for "extract value from interface in golang"

Go
1

extract value from interface in golang

// extracts interface value to known string type.
func extractValueFromInterface(value interface{}) {
	str, ok := value.(string)
	if ok {
		fmt.Printf("string value is: %q\n", str)
	} else {
		fmt.Printf("value is not a string: %v\n", value)
	}
}

func main() {
  extractValueFromInterface("this is a test")  //output: string value is: "this is a test"
  extractValueFromInterface(12) //output: value is not a string: 12
}

## Extract value from interfaces{}
- If we know the value holds a string and we just want to extract it?
- A one-case type switch would do, but so would a type assertion. 
- A type assertion takes an interface value and extracts from it 
  a value of the specified explicit type.
- From the above example, if it turns out that the value does not 
  contain a string, the program will crash with a run-time error. 
  To guard against that, use the "comma, ok" idiom to test, safely, 
  whether the value is a string.
Posted by: Guest on July-25-2021

Browse Popular Code Answers by Language