我有一个去计划 test.go
package main
import "fmt"
var DEBUG_MODE bool = true
func main() {
fmt.Println(DEBUG_MODE)
}
Run Code Online (Sandbox Code Playgroud)
我想DEBUG_MODE在编译时将变量设置为false
我试过了:
go build -ldflags "-X main.DEBUG_MODE 0" test.go && ./test
true
kyz@s497:18:49:32:/tmp$ go build -ldflags "-X main.DEBUG_MODE false" test.go && ./test
true
kyz@s497:18:49:41:/tmp$ go build -ldflags "-X main.DEBUG_MODE 0x000000000000" test.go && ./test
true
Run Code Online (Sandbox Code Playgroud)
它不起作用,但是当它DEBUG_MODE是一个时它起作用string
我有一张这样的桌子;
CREATE TABLE test (
id BIGSERIAL PRIMARY KEY,
data JSONB
);
INSERT INTO test(data) VALUES('[1,2,"a",4,"8",6]'); -- id = 1
INSERT INTO test(data) VALUES('[1,2,"b",4,"7",6]'); -- id = 2
Run Code Online (Sandbox Code Playgroud)
如何更新元素data->1,并data->3为其他的东西没有PL/*?
我需要知道3个值的幂和mod的值,例如:
print 1_299_709 ** 1_300_751 % 104_729
Run Code Online (Sandbox Code Playgroud)
是否有任何红宝石宝石或更快的方式使用红宝石计算这个?
有没有办法在 Bash 中获取第 n 个字符之后的子字符串的 indexOf,而不需要一个一个地剪切原始字符串,那会很长
12345678901234
$ expr index 'abcdeabcdabcaa' 'c'
3
$ expr index 'abcdeabcdabcaa' 'ca'
1
Run Code Online (Sandbox Code Playgroud)
我想要的是:
$ indexOf 'abcdeabcdabcaa' 'ca'
12
$ indexOfAfter 5 'abcdeabcdabcaa' 'c'
8
$ indexOfAfter 5 'abcdeabcdabcaa' 'ca'
12
$ indexOfAfter 9 'abcdeabcdabcaa' 'b'
11
$ indexOfAfter 111 'abcdeabcdabcaa' 'c'
0
Run Code Online (Sandbox Code Playgroud)
Bash 上可能已经有功能可以做到这一点.. 这不是作业,只是出于好奇..
可以在Go中嵌入一种语言吗?举例说明嵌入式语言如何访问Go的变量.我需要它来在我的应用程序中创建插件.
例如,我有我要比较的函数列表:
http://play.golang.org/p/_rCys6rynf
type Action func(foo string)
type Handler struct {
Get Action
Post Action
}
var routes map[string]Handler
func Undefined(foo string) {
}
func Defined(foo string) {
}
func init() {
routes = map[string]Handler{
`/`: Handler{Defined,Undefined},
}
}
func main() {
for _, handler := range routes {
if handler.Post != Undefined {
// do something
} // invalid operation: (func(string))(handler.Post) != Undefined (func can only be compared to nil)
if &handler.Post != &Undefined {
// do something
} // …Run Code Online (Sandbox Code Playgroud) 在Golang中进行转换[]uint32和转换的最有效方式(性能)是[]byte什么?
例如:
func main() {
source := []uint32{1,2,3}
dest := make([]byte, 4 * len(source))
// source to dest
// ?
check := len(dest)/4
// dest to check
// ?
}
Run Code Online (Sandbox Code Playgroud)
我有一个解决方案,但它包括div,mod和multiply
package main
import (
"fmt"
)
func main() {
source := []uint32{1,2,3}
dest := make([]byte, 4*len(source))
fmt.Println(source)
for start, v := range source {
dest[start*4+0] = byte(v % 256)
dest[start*4+1] = byte(v / 256 % 256)
dest[start*4+2] = byte(v / 256 / 256 …Run Code Online (Sandbox Code Playgroud) PostgreSQL 中可以创建带有参数的视图吗?
问题是,我们的后端服务中可能存在未经验证的 SQL 语法,这可能会导致内部服务器错误,所以我可能需要将每个查询转换为视图?
像这样的东西:
query := ` --
func Bla_ByType
SELECT id
, data
-
>>
'name'
FROM bla
WHERE data->>'type' = ` + escapeAndQuote(param1)
Run Code Online (Sandbox Code Playgroud)
上面的语法未被检测为错误,因为它只是一个字符串,正确的语法是:
query := ` -- func Bla_ByType
SELECT id
, data->>'name'
FROM bla
WHERE data->>'type' = ` + escapeAndQuote(param1)
Run Code Online (Sandbox Code Playgroud)
上面的例子只是一个简单的查询,其他的则更长,如下所示:
WITH t AS (
SELECT ...
FROM
WHERE param1
) SELECT ...
FROM ...
LEFT JOIN t
WHERE param2`
Run Code Online (Sandbox Code Playgroud)
除了阅读课程之外还有其他选择吗:
CREATE OR REPLACE VIEW v_bla_bytype AS
SELECT id
, data->>'name'
FROM bla
WHERE …Run Code Online (Sandbox Code Playgroud) 我看一下GPUImage2的源代码
picture = PictureInput(image:UIImage(named:"WID-small.jpg")!)
filter = SaturationAdjustment()
picture --> filter --> renderView
picture.processImage()
Run Code Online (Sandbox Code Playgroud)
怎么-->办?
我有一个虚拟示例我在这个仓库
我尝试将当前跨度上下文传递给远程跨度上下文,以便它可以正确显示跟踪,我所做的:
go func() {
_, span := otel.Tracer("natsC").Start(context.Background(), "publish")
defer span.End()
// send current span context as header
spanCtx := span.SpanContext()
spanJson, _ := spanCtx.MarshalJSON()
log.Println(string(spanJson))
msg, err := nc.RequestMsg(&nats.Msg{
Subject: topic1, Data: []byte("whatever"), Header: nats.Header{
"otelTrace": []string{string(spanJson)},
},
}, 2*time.Second)
if L.IsError(err, `nc.Publish`) {
return
}
log.Println(`reply:`, msg)
}()
Run Code Online (Sandbox Code Playgroud)
在接收服务器上:
_, err = nc.QueueSubscribe(topic1, "my-queue", func(msg *nats.Msg) {
// take header and deserialize back to spanContext
rsc := msg.Header.Get(`otelTrace`)
parentSpanCtx := trace.SpanContext{}
err := json.Unmarshal([]byte(rsc), &parentSpanCtx)
L.IsError(err, …Run Code Online (Sandbox Code Playgroud)