mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-07-26 06:38:42 +00:00
compiler: implement comparing structs directly
This commit is contained in:
Vendored
+43
@@ -0,0 +1,43 @@
|
||||
package main
|
||||
|
||||
func main() {
|
||||
// string equality
|
||||
println(a == "a")
|
||||
println(a == "b")
|
||||
println(a != "a")
|
||||
println(a != "b")
|
||||
|
||||
// struct equality
|
||||
println(s1 == Struct1{3, true})
|
||||
println(s1 == Struct1{4, true})
|
||||
println(s1 == Struct1{3, false})
|
||||
println(s1 == Struct1{4, false})
|
||||
println(s1 != Struct1{3, true})
|
||||
println(s1 != Struct1{4, true})
|
||||
println(s1 != Struct1{3, false})
|
||||
println(s1 != Struct1{4, false})
|
||||
|
||||
// blank fields in structs
|
||||
println(s2 == Struct2{"foo", 0.0, 5})
|
||||
println(s2 == Struct2{"foo", 0.0, 7})
|
||||
println(s2 == Struct2{"foo", 1.0, 5})
|
||||
println(s2 == Struct2{"foo", 1.0, 7})
|
||||
}
|
||||
|
||||
var x = true
|
||||
var y = false
|
||||
|
||||
var a = "a"
|
||||
var s1 = Struct1{3, true}
|
||||
var s2 = Struct2{"foo", 0.0, 5}
|
||||
|
||||
type Struct1 struct {
|
||||
i int
|
||||
b bool
|
||||
}
|
||||
|
||||
type Struct2 struct {
|
||||
s string
|
||||
_ float64
|
||||
i int
|
||||
}
|
||||
Reference in New Issue
Block a user