系统课设:
修改了,60的偏移量+9A,从那里开始应该是——12
fA处根本不对,还是用hexedit看是对的【害的我自己怀疑算错】
——最终:
逆天。
0x6d
+0x34等于c8
85-89=-4 【需要计算】
【woc、没结果。已经被气死了!!!】
莫非是这里。【.code32的错?、感觉不能稍加马虎】
函数&闭包——
package main //声明该 go 文件属于 main 包
import ( //导入包语法
"fmt"
//"crypto/aes"
)
func adder() func(int) int {
sum := 0
return func(x int) int { //该闭包与其外部的 sum 相绑定
sum += x
return sum
}
}
func main() {
pos := adder()
//pos = adder()
for i := 0; i < 10; i++ {
fmt.Println(pos(1)) //由于 pos 与 sum 绑定,每调用一次 pos(1)都会执行 sum+1,并维持 sum 的值。
}
}
这个输出很奇怪诶——
函数作为参数传给println函数——
package main //声明该 go 文件属于 main 包
import ( //导入包语法
"fmt"
"math"
//"crypto/aes"
)
func main() {
hypot := func(x, y float64) float64 {
return math.Sqrt(x*x + y*y)
}
//var a int = 1
fmt.Println(hypot(5, 12))
}
数组&切片——
package main //声明该 go 文件属于 main 包
import ( //导入包语法
"fmt"
//"math"
//"crypto/aes"
)
func main() {
var a = [5]int{1, 2, 3, 4, 5}
for i := 0; i < 5; i++ {
fmt.Println(a[i]) //默认后面是换行
}
fmt.Println("\n")
var b []int = a[2:5] //从0开始,前含后不含;a[2:5] 也行;6直接报错
fmt.Println(b)
}
“类”&接口——
package main
import (
"fmt"
)
type car interface{ drive() }
type a struct{}
func (a1 a) drive() {
fmt.Println("a car")
}
type b struct{}
func (b1 b) drive() {
fmt.Println("b car")
}
func main() {
var n car
n = new(a)
n.drive()
n = new(b)
n.drive()
}
result:
!
【R】