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.
Are there any code examples left?
New code examples in category Go
-
Go 2022-03-27 22:30:23 golang check if ip is v6
-
Go 2022-03-27 16:20:18 make image go to center of page
-
Go 2022-03-24 15:20:01 why does my discord bot not work when i take code from googl
-
Go 2022-03-21 18:40:22 pass method as props vue
-
Go 2022-03-19 23:40:33 reverse a string in golang
-
Go 2022-03-18 12:45:06 golang while loop
-
Go 2022-03-17 19:30:08 instancing in godot
-
Go 2022-03-17 09:55:17 brew upgrae golang-migrate
-
Go 2022-03-17 06:15:06 Tushar Jadhav
-
Go 2022-03-17 00:00:12 golang cwd