作者:AlbertWen
添加时间:2019-05-10 15:09:09
修改时间:2025-08-14 20:45:39
分类:
Linux基础
编辑
在服务器站点执行 git pull
时,报错:
Your local changes to the following files would be overwritten by merge
error: Your local changes to the following files would be overwritten by merge:
protected/config/main.php
Please, commit your changes or stash them before you can merge.
作者:AlbertWen
添加时间:2017-10-29 09:14:50
修改时间:2025-08-12 05:00:36
分类:
14.Golang/Ruby
编辑
上一篇文章 说到了 Golang 中的反射的一些基本规则,重点就是文章中最后的三点,但是这篇文章并没有说如何在反射中调用函数和方法,这就是接下来要说的。
反射中调用 函数
众所周知,Golang 中的函数是可以像普通的 int、float 等类型变量那样作为值的,例如:
package main
import "fmt"
func hello() {
fmt.Println("Hello world!")
}
func main() {
hl := hello
hl()
}
prints:
hello world!
既然函数可以像普通的类型变量一样可以的话,那么在反射机制中就和不同的变量是一样的,在反射中 函数 和 方法 的类型(Type)都是 reflect.Func,如果要调用函数的话,可以通过 Value 的 Call() 方法,例如:
func main() {
hl := hello
fv := reflect.ValueOf(hl)
fmt.Println("fv is reflect.Func ?", fv.Kind() == reflect.Func)
fv.Call(nil)
}
prints:
fv is reflect.Func? true
hello world!
Value 的 Call() 方法的参数是一个 Value 的 slice,对应的反射函数类型的参数,返回值也是一个 Value 的 slice,同样对应反射函数类型的返回值。通过这个例子,相信你一看就明白了:
func prints(i int) string {
fmt.Println("i =", i)
return strconv.Itoa(i)
}
func main() {
fv := reflect.ValueOf(prints)
params := make([]reflect.Value, 1) // 参数
params[0] = reflect.ValueOf(20) // 参数设置为20
rs := fv.Call(params) // rs作为结果接受函数的返回值
fmt.Println("result:", rs[0].Interface().(string)) // 当然也可以直接是 rs[0].Interface()
}
prints:
i = 20
result: 20
作者:AlbertWen
添加时间:2017-10-29 10:23:09
修改时间:2025-08-13 10:10:48
分类:
14.Golang/Ruby
编辑
作者:AlbertWen
添加时间:2017-12-03 10:07:12
修改时间:2025-08-13 22:10:59
分类:
电脑/软件使用
编辑
Mac 下,不要升级 Jetbrains 系列产品到 2017.3,工具栏是乱的,bug 比较多
作者:AlbertWen
添加时间:2019-09-08 23:33:00
修改时间:2025-08-16 06:36:18
分类:
13.C/C++/仓颉
编辑
int accept(int s, struct sockaddr *addr, int *addrlen);
accept()用来接受参数s 的socket 连线。参数s 的socket 必需先经bind()、listen()函数处理过,当有连线进来时accept()会返回一个新的socket 处理代码,往后的数据传送与读取就是经由新的socket处理,而原来参数s 的socket 能继续使用accept()来接受新的连线要求。
作者:AlbertWen
添加时间:2018-05-24 17:17:21
修改时间:2025-08-14 21:04:07
分类:
08.Java基础
编辑
作者:AlbertWen
添加时间:2017-10-29 20:40:37
修改时间:2025-08-14 21:59:30
分类:
06.前端/Vue/Node.js
编辑
使用 jQuery 修改 css 中带有 !important 的样式属性
外部样式为:
div.test {
width:auto !important;
overflow:auto !important
}
通过 $("div.test").css("width","100px"); 和 $("div.test").css("width","100px !important"); 是无效的
作者:AlbertWen
添加时间:2017-10-29 21:17:04
修改时间:2025-07-26 13:29:14
分类:
招聘/面试/总结
编辑
作者:AlbertWen
添加时间:2017-11-13 16:09:18
修改时间:2025-08-13 21:57:08
分类:
MySQL/Redis
编辑
在 [mysqld] 节点下,增加如下内容:
general_log = ON
general_log_file = D:/Data/log/sql.log
general_log = ON 表示开启日志记录,
general_log_file 为日志保存的路径。
作者:AlbertWen
添加时间:2017-11-07 10:18:54
修改时间:2025-08-13 09:29:54
分类:
12.PHP库/系统/微信
编辑
Mix:高性能 • 极简 • 多功能『 内置 Server 基于 Swoole 的次世代 PHP 开发框架
Group-Co:优雅的PHP异步协程框架,支持SOA服务化调用,适用于API、Http Server、Rpc Server、构建微服务、中间件。适用于高并发,io密集型场景