golang 突破私有成员

10-25 1,569 views

GoLang 强制类型转换:unsafe.Pointer

package main

import (
    "fmt"
    "text/template"
    "unsafe"
)
// MyTemplate 定义和 template.Template 只是形似
type MyTemplate struct {
    name       string
    parseTree  *unsafe.Pointer
    common     *unsafe.Pointer
    leftDelim  string
    rightDelim string
}

func main() {
    t := template.New("Foo")
    p := (*MyTemplate)(unsafe.Pointer(t))
    p.name = "Bar" // 关键在这里,突破私有成员
    fmt.Println(p, t)
}

typescript 源码分析

https://www.cnblogs.com/xuld/p/12180913.html

阅读全文

flutter_gen config

const configDefaultYamlContent = ''' name: UNKNOWN flutter_gen: Optional output: lib/gen/ Optional line_length: 80 Optional parse_metadata: false ...

阅读全文

redis 函数的含义

您提供的函数列表是一个 Redis 客户端 API 的部分实现,通常用于与 Redis 数据库进行交互。以下是这些函数的简要解释,按类别进行分类以帮助理解其功能和用...

阅读全文

欢迎留言