gpt4 book ai didi

methods - Golang 方法参数接口(interface){}

转载 作者:数据小太阳 更新时间:2023-10-29 03:14:55 24 4
gpt4 key购买 nike

代码:

type String struct {
Result string
}

func main() {
result := &String{Result:"value"}
//var test string= "value"
//result := &test

testDataBase(result)
fmt.Print(result.Result) //expect:"34",but:"value"
}

func testDataBase(str interface{}) {
strV,ok := str.(String)
if ok {
strV.Result="34"
}
}

那么,我怎样才能得到结果 :34 呢?

最佳答案

使用 strV, ok := str.(*String),
喜欢这个工作示例代码:

package main

import "fmt"

type String struct{ Result string }

func main() {
result := &String{Result: "value"}
testDataBase(result)
fmt.Println(result.Result)
}

func testDataBase(str interface{}) {
strV, ok := str.(*String)
if !ok {
panic("error")
}
strV.Result = "34"
}

输出:

34

关于methods - Golang 方法参数接口(interface){},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38929849/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com