-
源码中的 nil 是这样定义的
// nil is a predeclared identifier representing the zero value for a
// pointer, channel, func, interface, map, or slice type.
var nil Type // Type must be a pointer, channel, func, interface, map, or slice type
所
-
问题内容基于docker的web微服务运行的时候,映射了宿主的log目录到容器的log目录,此时我们开启了一个filebeat微服务,这个微服务的目的就是吧log目录的日志同步到elasticsearch,问题是我们如何确
-
问题内容
func test_gomaxprocs() {
runtime.GOMAXPROCS(1)
wg := sync.WaitGroup{}
wg.Add(20)
for i := 0; i < 10; i++ {
go func() {
fmt.Println("i:", i)
defer wg.Done()
}()
}
for i := 0;
-
问题内容
我用的github.com/go-sql-driver/mysql这个驱动,我像下面这样写没有报错,但是里面的数据为空或者0
type data struct {
id int
name string
weight int
}
rows, _ := db.Query("select * from test where id = ?",
-
概要
在调用第三方 API 的时候, 基本都有访问限速的限制条件. 第三方的 API 有多个的时候, 就不太好控制访问速度, 常常会导致 HTTP 429(Too Many Requests) 然后就会有一段时间的禁止访问.
为了应对这
-
Golang try catch
虽然在使用Golang的时候发现没有try catch这种错误处理机制但是想一想golang作为一门优雅的语言,似乎也是情理之中。因为在java中 throws在函数签名中有一个关键字,旨在使异常流程
-
问题内容package main
import (
"fmt"
)
func main() {
fmt.Println(f0()) // 1
fmt.Println(f1()) // 0
}
func f0() (result int) {
defer func() {
result++
}()
return 0
}
func f1() (result int) {
result = 0 //return语
-
首先撰写golang程序exportgo.go:
package main
import "C"
import "fmt"
//export PrintBye
func PrintBye() {
fmt.Println("From DLL: Bye!")
}
//export Sum
func Sum(a int, b int) int {
return a + b;
}
func main() {
// Need a main func
-
在go的微服务架构中
使用go-kit组件进行开发微服务
type Reg struct {
Host string
Port int
Client consul.Client
}
func MakeReg (host string , port int) (*Reg , error) {
reg := api.DefaultConfig()
reg.Address = host + ":" + strconv.It
-
为什么要有枚举
我们以java语言为例子,在JDK1.5之前没有枚举类型,我们通常会使用int常量来表示枚举,一般使用如下:
public static final int COLOR_RED = 1;
public static final int COLOR_BLUE = 2;
public static fi
-
最近用go写程序时遇到一个问题——求任意类型切片的长度。
作为一个初学者,刚刚学了接口和切片,知道了每个类型都实现了一个空接口interface{},那么如果接口类型作为函数的参数,那它应
-
Go 测试里 t.Setenv 会修改整个进程的环境并在测试结束后恢复,因此不能和 t.Parallel 或并行祖先一起使用。本文说明冲突原因,并给出串行、配置注入和独立进程三种处理方式。
-
介绍 go/build/constraint.GoVersion 如何从构建表达式推导最低 Go 版本,解释与、或、非、空字符串和非 SAT 结构分析边界,并给出可复用的 Go 示例。
-
Go time.Time.AppendFormat 会把时间按 layout 追加到已有字节切片。本文用 -07:00、Z07:00 和 RFC3339 说明时区偏移布局、Location 来源、UTC 的 Z 表示以及常见误区。
-
围绕 io/fs.ValidPath 说明 FS.Open 名称的相对路径规则、根路径语义、斜杠边界和自定义文件系统的入口检查方式。