相关疑难解决方法(0)

如何比较struct,slice,map是否相等?

我想检查两个结构是否相等,但有一些问题:

package main

import (
    "fmt"
    "reflect"
)

type T struct {
    X int
    Y string
    Z []int
    M map[string]int
}

func main() {
    t1 := T{
        X: 1,
        Y: "lei",
        Z: []int{1, 2, 3},
        M: map[string]int{
            "a": 1,
            "b": 2,
        },
    }

    t2 := T{
        X: 1,
        Y: "lei",
        Z: []int{1, 2, 3},
        M: map[string]int{
            "a": 1,
            "b": 2,
        },
    }

    fmt.Println(t2 == t1)
    //error - invalid operation: t2 == t1 (struct containing []int cannot be compared)

    fmt.Println(reflect.ValueOf(t2) == …
Run Code Online (Sandbox Code Playgroud)

go go-reflect

99
推荐指数
6
解决办法
9万
查看次数

检查结构体字段是否不为空

如何在没有显式的情况下迭代结构中的字段并检查它们是否不为空?

我有一个示例结构

type Example struct {
    Foo, Bar string
}
Run Code Online (Sandbox Code Playgroud)

我可以明确检查每个字段是否不是“”,但我不想这样做。有什么简单的方法可以完成我的需要吗?

struct go

-1
推荐指数
1
解决办法
4585
查看次数

nil check left 和 right 之间有什么区别

该函数接受两个字符串并返回 struct 或 nil,我在该函数内编写了一个 struct 仅供该函数使用。

\n
type OrgFundingsDetailsFCT struct {\n    ID           int     `db:"id"`\n    OrgProfileID int     `db:"org_profile_id"`\n    OrgID        int     `db:"org_id"`\n    RefID        string  `db:"ref_id"`\n    AmountUSD    float64 `db:"amount_usd"`\n    FundingDate  string  `db:"funding_date"`\n    Status       string  `db:"status"`\n    Round        string  `db:"round"`\n    CreatedBy    string  `db:"created_by"`\n}\n
Run Code Online (Sandbox Code Playgroud)\n
func (s *Server) getCompareOrgFundingsByRefID(refID, status string) (*OrgFundingsDetailsFCT, error) {\n    type orgFunding struct {\n        RefID  string `db:"ref_id"`\n        Status string `db:"status"`\n    }\n\n    var orgFundingsDetailsFCT OrgFundingsDetailsFCT\n\n    orgfunding := orgFunding{\n        RefID:  refID,\n        Status: status,\n    }\n\n    const query = `SELECT id,\n                    org_profile_id,\n                    org_id,\n                    ref_id,\n                    amount_usd,\n                    funding_date,\n …
Run Code Online (Sandbox Code Playgroud)

comparison null go

-1
推荐指数
1
解决办法
346
查看次数

标签 统计

go ×3

comparison ×1

go-reflect ×1

null ×1

struct ×1