首先main之前会执行init。如果init中又依赖其他扩展,则先执行其他扩展中的init。类似于树的叶子节点,先执行的从叶子节点开始。这是今天遇到的一个问题,还有一个就是关于windows配置环境变量。需要注意两点,首先就是环境变量设置之后,需要关闭当前命令行才能生效。另外就是环境变量分为用户变量和系统变量,如果其中设置不生效,可以选择都设置。还有就是设置环境变量以后,是以命令行形式运行的。
package main
import (
"fmt"
"runtime"
"sync/atomic"
"time"
)
type SpinLock struct {
State uint32
}
func (s *SpinLock) Lock()
student_id,course_id,scoreselect * from s.student_id,s.course_id,s.score from score s left jon (select course_id,max(score) as max_score from score group by score) m on s.course_id=m.course_id and s.s
通知接收方没有更多数据了
ch := make(chan int)
go func() {
for i := 0; i < 5; i++ {
ch <- i
}
close(ch) // 生产者发完了,通知接收者
}()
for v := range ch {
fmt.Println(v) // 接收者循环读取直
binlog 和redo log 区别binlog =>记录insert、update、delete的操作(逻辑日志 )分三种格式:statement、row(记录数据变更情况)、mixed追加写的模式,主要用在数据恢复和主从复制redo log =>记录的是数据页上的物理修改(如"在数据页 P 的偏移量 100 写入 1")(物理写)循环写,写满后覆盖之前的数据。主要用在事务持久性,
a给b发fin,a进入fin_wait_1。b收到fin之后,内核发送ack(a收到后进入fin_wait_2),之后b状态就变成了close_wait之后b给a发送fin,这时候b进入last_acka收到b发送的fin之后,发送ack,此时a变成time_waitb收到ack后状态变成closedclose_wait的作用是对方已经不能给我发送数据,因为它已经fin了。我仍然可以给对方发送数据
今天在配置fastadmin env的过程中,突然发现env不生效。然后在database.php将值写死,这时候报警告错误。Warning: syntax error, unexpected end of file, expecting TC_DOLLAR_CURLY or TC_QUOTED_STRING or '"' in /Users/bot/PhpstormProjects/fastad
interface 分两种空接口(eface)和非空接口(有方法定义的接口)type eface struct {_type *_type // 具体类型信息的指针
data unsafe.Pointer // 指向实际存储的数据}也就是定义了指向位置的指针和指向类型的指针。例子:var i interface{}i = 42_type 指向 int 的类型信息。data 存放
今天面试的时候,面试问我golang 如何实现继承。我直接说golang中只有组合,想实现类似继承的效果的话。就是struct嵌套struct 这种比较靠谱
用golang读取一个json,发现有一个字段的值有的是int类型,有的是string类型。解决思路就是自定义一个类型,然后解析json的时候,自定义函数进行判断。type StringOrInt stringfunc (s *StringOrInt) UnmarshalJSON(data []byte) error {// 尝试解析为字符串
var str string
if err :=
我们有时候想查看本地到域名的联通性的时候,就使用ping来操作。而ping属于icmp协议。这个协议主要是用来网络诊断和控制。其中网络联通用的是ping。而路由诊断就用的traceroute工具。它会记录从你本地到指定ip之间经过了那些路由节点,以及耗时。核心目的就是为了定位网络延迟和中断的具体位置。实现原理就是通过ip数据包的ttl(time to live)来实现。初始化ttl=1,发现一个路
思想就是用循环数组来实现整个结构。其中numSlots用来表示滑动窗口的持续时间,比如30s,间隔时间是1s执行一次,这个可以用goroutine起一个定时器实现。计数就用golang atmic 实现,这个具有原子性。每一次步进就是(curIndex+1)%numSlots 下边就是相关代码。package service
import (
"fmt"