Form 的构造使用
Form 的构造与其函数 get 的使用
创建 Form 类,并通过 get 获取 key 对应映射的 value。
代码如下:
示例中使用 Form 类的函数 get 获取指定 key = 1 的 value 值 2 。
import encoding.url.*
main(): Int64 {
var s = Form("1=2&2=3&1=2&&")
print(s.get("1").getOrThrow())
return 0
}
运行结果如下:
2
Form 的构造与重复 key 情况下函数 get 的使用
创建 Form 类,并通过 get 获取 key 对应映射的 value。
代码如下:
示例中使用 Form 类的函数 get 获取指定 key = 1 的第一个 value 值 %6AD。value 中的 %6A 被解码为 j,因此得到 value 值 jD 。
import encoding.url.*
main(): Int64 {
var s = Form("2=3&1=%6AD&1=2")
// 对于 %6A 解码成 j,重复的 key 调用 get 获取第一个 value 值 jD
print(s.get("1").getOrThrow())
return 0
}
运行结果如下:
jD
Form 的构造与其他函数使用
分别调用 add,set,clone,打印输出前后变化。
代码如下:
import encoding.url.*
main(): Int64 {
var f = Form()
// 给键 k 增加值 v1 和 v2。
f.add("k", "v1")
f.add("k", "v2")
// 调用 get 方法时,获取的是第一个值。
println(f.get("k").getOrThrow())
// 设定键 k 的值为 v
f.set("k", "v")
println(f.get("k").getOrThrow())
let clone_f = f.clone()
// 给克隆出来的 clone_f 增加键值对。
clone_f.add("k1", "v1")
// 通过 get 获得值 v1。
println(clone_f.get("k1").getOrThrow())
// 原来的 f 并没有键 k1,所以值是给的默认值 kkk。
println(f.get("k1") ?? "kkk")
0
}
运行结果如下:
v1
v
v1
kkk