V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  yiplee  ›  全部回复第 3 页 / 共 14 页
回复总数  266
1  2  3  4  5  6  7  8  9  10 ... 14  
2022 年 4 月 20 日
回复了 aptupdate 创建的主题 OpenWrt 怎么排查哪个服务一直在请求 myip.ipip.net 这个 IP?
我软路由上的 openwrt localhost 一直在请求 www.baidu.com ,偶尔请求 docs.qq.com ,不知道怎么查 😂
2022 年 4 月 7 日
回复了 sickoo 创建的主题 Apple WindowServer 让我产生了内存焦虑
telegram 可以用 spa 版本 https://web.telegram.org/k/ ,很好用
类似需求我之前用过 https://github.com/kelseyhightower/envconfig ,也挺好用的
2021 年 12 月 20 日
回复了 acainiao 创建的主题 游戏开发 我的游戏《魔旅之塔》将要发售了。
厉害,加愿望单了
2021 年 11 月 5 日
回复了 chcone 创建的主题 Tesla 单踏板真香,尤其堵车的时候
@pikachu0606 你试驾的是保持模式?可以设置成缓行模式就跟有车怠速前行一样了。
drone
2021 年 7 月 7 日
回复了 wananzz 创建的主题 Nintendo Switch 今晚刚发布的 switch oled mode 大家怎么看?
任天堂故意把机能画质做低的,这样游戏厂商就会把精力放在游戏性上面 😂
2021 年 6 月 24 日
回复了 KasuganoSoras 创建的主题 MySQL 请教一个 MySQL 排序问题
赛车游戏应该谁最先通过终点谁就赢。为了鼓励漂移可以学习马里奥赛车,漂移之后有氮气加速效果,抵消漂移带来的降速效果。
2021 年 4 月 14 日
回复了 xiaoleis 创建的主题 硬件 RX580 咸鱼挂 3000 被秒了。
我还有一张公版 GTX 1070 8G 不知道是啥行情
2020 年 9 月 24 日
回复了 psw84 创建的主题 推广 NUC 黑果套餐 国庆专车 福利帖
我来了谢谢楼主
2020 年 8 月 31 日
回复了 jinzhu 创建的主题 Go 编程语言 GORM v2 正式发布! 20k stars ;)
升级之后手动创建 index 的方法 db.AddIndex 和 db.AddUniqueIndex 找不到了
2020 年 7 月 24 日
回复了 vhysug01 创建的主题 Go 编程语言 请教大佬, go 如何根据变量名获取该变量的数据
2020 年 7 月 24 日
回复了 vhysug01 创建的主题 Go 编程语言 请教大佬, go 如何根据变量名获取该变量的数据
不知道为啥 md 格式没生效啊
2020 年 7 月 24 日
回复了 vhysug01 创建的主题 Go 编程语言 请教大佬, go 如何根据变量名获取该变量的数据
可以用 stringer 自动生成,举个例子

安装 stringer

```shell
go get -u -a golang.org/x/tools/cmd/stringer
```

**permission.go**

```golang
package core

import (
"sort"
"strings"
)

//go:generate stringer --type Permission

type Permission int

const (
A Permission = iota
B
C
D
E
F
)

func PermissionFromName(p string) (Permission, bool) {
idx := strings.Index(_Permission_name, p)
if idx < 0 {
return 0, false
}

pos := sort.Search(len(_Permission_index), func(i int) bool {
return _Permission_index[i] >= uint8(idx)
})

return Permission(pos), true
}
```

执行 go generate

```shell
go generate ./...
```

生成 **permission_string.go** 文件

```golang
// Code generated by "stringer --type Permission"; DO NOT EDIT.

package core

import "strconv"

func _() {
// An "invalid array index" compiler error signifies that the constant values have changed.
// Re-run the stringer command to generate them again.
var x [1]struct{}
_ = x[A-0]
_ = x[B-1]
_ = x[C-2]
_ = x[D-3]
_ = x[E-4]
_ = x[F-5]
}

const _Permission_name = "ABCDEF"

var _Permission_index = [...]uint8{0, 1, 2, 3, 4, 5, 6}

func (i Permission) String() string {
if i < 0 || i >= Permission(len(_Permission_index)-1) {
return "Permission(" + strconv.FormatInt(int64(i), 10) + ")"
}
return _Permission_name[_Permission_index[i]:_Permission_index[i+1]]
}
```

最后,可以使用 Permission.String() 方法将 enum 转成 string,也可以用 PermissionFromName() 转回来。enum 有变动的时候,重新执行一下 go generate 重新生成代码即可。
不错,很赞
2020 年 6 月 10 日
回复了 wbofeng 创建的主题 Go 编程语言 Beego 再出发
gin 我都觉得重了,现在在用 https://github.com/go-chi/chi
用 json.RawMessage 就好了转 map 是浪费

```go
c.JSON( http.StatusOK, gin.H{
"message": "ok",
"data": json.RawMessage(data.Data),
})
```
1  2  3  4  5  6  7  8  9  10 ... 14  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2721 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 10:29 · PVG 18:29 · LAX 03:29 · JFK 06:29
♥ Do have faith in what you're doing.