V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  8520ccc  ›  全部回复第 1 页 / 共 20 页
回复总数  384
1  2  3  4  5  6  7  8  9  10 ... 20  
@povsister emmm 好的
@lrh3321 依然可用 直接存 只是要注意 存进去时的类型 一定要是 Logger

```
package gctx

import (
"context"
"log"
"testing"
)

// MockLogger 是一个实现 Logger 接口的模拟结构体
type MockLogger struct {
lastMessage any
}

func (m *MockLogger) Info(msg any) {
log.Println("MockLogger:", msg)
m.lastMessage = msg
}

type Logger interface {
Info(msg any)
}

func TestLoggerContextStorage(t *testing.T) {
// 创建一个基础 context
ctx := context.Background()

// 创建一个 MockLogger 实例
logger := &MockLogger{}

// 将 logger 存储到 context 中
ctx = Put(ctx, Logger(logger))

// 从 context 中检索 logger
retrievedLogger, err := Get[Logger](ctx)
if err != nil {
t.Fatalf("Failed to retrieve logger from context: %v", err)
}
retrievedLogger.Info("Test log message")
// 检查检索到的 logger 是否是原始 logger
if retrievedLogger != logger {
t.Errorf("Retrieved logger is not the same as the original logger")
}

// 使用检索到的 logger
testMessage := "Test log message"
retrievedLogger.Info(testMessage)

// 验证消息是否正确记录
if logger.lastMessage != testMessage {
t.Errorf("Expected last message to be %q, but got %q", testMessage, logger.lastMessage)
}

// 测试检索不存在的类型
_, err = Get[string](ctx)
if err == nil {
t.Error("Expected error when retrieving non-existent type, but got nil")
}
}

```
@povsister 我这个专门放 *struct 还有 interface 的 我每个类型只放一次 如果那种的肯定不用这个方案了

我这个只是为了那种只存放一个类型的 避免手写 key
@povsister ……好吧 因为我的需求只是存*Struct 基本每个 ctx 只需要存一份 所以我这个是挺满足我自己的需求的
@dingyaguang117 对 因为我用这个方法主要存的是 *Struct 基本不存在需要一个结构体需要存多份的情况
@povsister 老实说有点不爽,确实是我学艺不精,这个是我的问题,但是您的评论是不是有点尖锐了……
@povsister 额请教一下,什么问题 确实没读……
81 天前
回复了 awanganddong 创建的主题 Go 编程语言 golang 依赖循环的问题。
拿一个目录来专门做接口

最好用上代码自动生成

写完代码自动生成接口,自动注册
范型真的挺好用(少写很多重复的东西)……至于这个新特性 能不用就不用呗 别人的项目写了 尽量理解一下就行
150 天前
回复了 sillydaddy 创建的主题 随想 对人工智能担忧的一点思考
不太认同需要协作,形成社会本质上是个体的弱小

个体扩展太难,或者无法扩展,所以需要协作

而 AI 是可以自己扩展的……
@wildman9527

真随机是吗?我认为这也是在精度之下的,假设我们使用相同的材料,架构复制了身体,两者的底层基本粒子,都存在“真随机”的特性……
@woodfizky 抱歉,可能我们的侧重点不同,我的意思是只要拿到精度之上的数据就好了,低于精度的拿了也不影响结果。这样的话可能我们只需要拿到神经元结构,突触链接权重(这里存在精度问题),就好了
@w16311 见#31 精度问题 抛开毒性谈剂量没意义 抛开精度改变也没有意义
@woodfizky 好的 下面是我的看法 可能这真的是哲学问题了 我认为意义不大 观点如下:
1. 我们身体最底层的基本粒子 本身每时每分都在变化的 如果严格来说 每个普朗克时间 我们身体的架构都是不同的!但是抛开剂量谈毒性都没有意义!所以我们要引入一个概念:精度 例如一块硬盘,假设改变/减少/增加一个基本粒子影响工作吗?影响数据吗?答案是:不影响 因为基本粒子本身精度太高了,硬盘的精度可能是纳米级的(我胡写的 懒得去查),低于这个精度的变动都不会对 硬盘本身储存的信息 产生影响!

总之,如果底层变量的改变精度已经低于受影响的最低精度 我们是不是可以理解为没有变化?

回到思想实验 我认为人的意识也好 灵魂也罢 其精度应该是高于原子层面的!

只要在其精度之下的任意变动 都不影响我们的意识 所以都是同一个意识

再说
···············
如果是原来的意识,也就是上述 B 的思路,那更有意思了,那我们把一个人在同一个地方重组,但是过一会根据上一个人重组的方式,用相同的原子构成和组成方式再生成一个,并且技术上看起来,就像一个人一瞬间变成了两个人。

··················

我认为是的 因为就是可以复制 只要拿到 人的 完整数据 是可以无限复制的(并且精度没必要完全到原子的地步)
@zhtyytg 好的 谢谢指点 我以后会注意的 非常感谢 义父~~~
@0x67cq 您说的对 但是其实 AI 最最最主要的是 降低了 某些工具的学习成本 而使用工具是能提高效率的

可能某些尖端技术 AI 不能帮助突破 但是处理某些事务时 可以为这些科研人员降低 学习成本。。。这样也是在提高算力的

就比如 可能一个数学家 在做研究时需要做一个自己不太擅长的东西 如果没有 AI 也能学习 有 AI 可能要快一些 一些简单的内容能直接给出最终答案。这就提高了这位数学家的效率。让数学家能够更加专注于他自己的研究 而不是其他事情

同理 其他情况也是这样
@renmu vvvv 某种层面而言 确实如此 但是人类依然存在 一直在为了满足自身的需求 欲望在发展文明,在创造工具 文化,在.....

至少是有欲望的。我认为这就是人类当下的意义。而 AI 实现后这个意义也会消失的
@evan9527 我认为有生之年( 40 年? 30 年? 20 年?)有不小的机会见到奇点到来

但是即使奇点到来 再到最终的实现机械飞升 也是需要时间的 即使 很快。。

所以不好说。。。
@winglight2016 我并不是说现在的技术方向是对的还是如何(我自己也仅仅只是一个 CURD Boys ,并不是这方面的专业人员),但是我想表达的是 现阶段的 AI 是人类提高大脑利用率的一个方向 (也就是提高了算力 提高的算力又会去反哺 AI 的发展 使得进一步提高大脑利用率!即使现阶段的方向不是最终的道路 但是它依然为我们走向终点提供助力
@w16311 我并不是说现在的技术方向是对的还是如何(我自己也仅仅只是一个 CURD Boys ,并不是这方面的专业人员),但是我想表达的是 现阶段的 AI 是人类提高大脑利用率的一个方向 (也就是提高了算力 提高的算力又会去反哺 AI 的发展 使得进一步提高大脑利用率!即使现阶段的方向不是最终的道路 但是它依然为我们走向终点提供助力
1  2  3  4  5  6  7  8  9  10 ... 20  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1786 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 17ms · UTC 16:36 · PVG 00:36 · LAX 08:36 · JFK 11:36
Developed with CodeLauncher
♥ Do have faith in what you're doing.