gpt4 book ai didi

go - 测试 initial in 的通用方法

转载 作者:IT王子 更新时间:2023-10-29 02:15:34 25 4
gpt4 key购买 nike

<分区>

在 Go 中是否有通用的方法来测试变量的初始值?

鉴于这些测试:

package main

import "fmt"

type FooStruct struct {
A string
B int
}

type BarStruct struct {
A string
B int
C map[int]string
}

func main() {
// string isinital test
var s string
fmt.Println(s == "")

// int isinital test
var i int
fmt.Println(i == 0)

// primitive struct isinital test
var fp FooStruct
fmt.Println(fp == FooStruct{})

// complex struct isinital test
// fail -> invalid operation: fc == BarStruct literal (struct containing map[int]string cannot be compared)
var fc BarStruct
fmt.Println(fc == BarStruct{})

// map isinital test
var m map[string]int
fmt.Println(len(m) == 0)

// map isinital test
// fail -> invalid operation: m == map[string]int literal (map can only be compared to nil)
fmt.Println(m == map[string]int{})
}

答:测试 BarStruct 初始值的正确方法是什么?

B: 是否有通用的方法来测试任何 var 的初始值?

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