gpt4 book ai didi

dictionary - 此代码使用变量 "ok"但未定义

转载 作者:IT王子 更新时间:2023-10-29 01:50:45 26 4
gpt4 key购买 nike

此代码正在运行,但我不明白如何运行。

在下面的代码中,hostProxy[host] 可能包含也可能不包含函数。我不明白变量“ok”是如何定义的,或者它是如何获得它的值的。在此行之前没有定义。

if fn, ok := hostProxy[host]; ok {
fn.ServeHTTP(w, r)
return
}

if target, ok := hostTarget[host]; ok {
....
}

最佳答案

这包含在 Spec: Index expressions:

An index expression on a map a of type map[K]V used in an assignment or initialization of the special form

v, ok = a[x]
v, ok := a[x]
var v, ok = a[x]
var v, ok T = a[x]

yields an additional untyped boolean value. The value of ok is true if the key x is present in the map, and false otherwise.

例如这段代码:

if fn, ok := hostProxy[host]; ok {
fn.ServeHTTP(w, r)
return
}

表示从hostProxy映射中获取与host键关联的值,创建并将该值存储在fn变量中,以及ok 变量中的结果(是否在映射中找到了键)。这个 ok 变量(属于 bool 类型)用作 if 语句的条件。因此,如果 host 键在 hostProxy 映射中,它会继续使用它。

关于dictionary - 此代码使用变量 "ok"但未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50365002/

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