Lighthughjiajin 最近的时间轴更新
Lighthughjiajin

Lighthughjiajin

V2EX 第 529934 号会员,加入于 2021-01-22 13:47:37 +08:00
关于 Golang 和 Python 设计数据结构思维的区别
程序员  •  Lighthughjiajin  •  2023-05-18 00:33:27 AM  •  最后回复来自 Lighthughjiajin
11
群辉 + openwrz + zerotier ping 不通
互联网  •  Lighthughjiajin  •  2023-02-26 11:36:42 AM  •  最后回复来自 yaott2020
4
小白求推荐 P2 P 异地组网方案
互联网  •  Lighthughjiajin  •  2023-05-22 14:25:38 PM  •  最后回复来自 MoonDazeCry
5
关于在 Windows 终端执行 Python 文件
程序员  •  Lighthughjiajin  •  2022-10-19 23:46:47 PM  •  最后回复来自 elementp
15
为什么我觉得 GO 有些语法很奇怪?
Go 编程语言  •  Lighthughjiajin  •  2022-06-03 22:23:56 PM  •  最后回复来自 Lighthughjiajin
59
关于 smaba 和 nfs 的区别?
程序员  •  Lighthughjiajin  •  2022-04-26 09:58:43 AM  •  最后回复来自 zjsxwc
17
求问,非科班程序员如何提高?
程序员  •  Lighthughjiajin  •  2022-04-08 23:40:15 PM  •  最后回复来自 bigmao0720
24
关于 openvpn server.conf 的配置问题
程序员  •  Lighthughjiajin  •  2022-04-01 17:27:25 PM  •  最后回复来自 allenforrest
22
自定义 Socket 接收 HTTP 请求,丢失请求体
Python  •  Lighthughjiajin  •  2021-11-01 11:45:34 AM  •  最后回复来自 julyclyde
10
Lighthughjiajin 最近回复了
329 天前
回复了 yinlei212 创建的主题 Python [困惑] 写好的 Python 应用如何分发?
pyinstaller 能保护源码吗?
2023-09-15 09:26:59 +08:00
回复了 feifeideyu 创建的主题 Linux 自用电脑如何搭建 Linux 系统进行开发?
怎么不 docker
2023-05-18 00:33:27 +08:00
回复了 Lighthughjiajin 创建的主题 程序员 关于 Golang 和 Python 设计数据结构思维的区别
我写的是组合多个结构体来满足函数的 Device 接口参数要求,我看你写的是组合多个结构体来调用 sync ,也就是最终都是同一个类型,就是一个结构体。
2023-05-17 23:33:07 +08:00
回复了 Lighthughjiajin 创建的主题 程序员 关于 Golang 和 Python 设计数据结构思维的区别
@Contextualist 感谢大佬,我整理了一下。
https://go.dev/play/p/Z5Hl57w5XdF
看看我理解的对吗?
2023-05-17 22:20:39 +08:00
回复了 Lighthughjiajin 创建的主题 程序员 关于 Golang 和 Python 设计数据结构思维的区别
@Contextualist 这个写法下,有个缺点,Router 无法重写 Device 的 sync 方法,类似于以下 Python 代码
```
from abc import ABC, abstractmethod


class Device(ABC):

@abstractmethod
def fn(self):
raise NotImplementedError

def sync(self):
print("Start Sync ...")
self.fn()
print("Start Done.")


class PC(Device):

def fn(self):
print("PC sync")


class Router(Device):

def fn(self):
print("Router Device sync")

def sync(self):
print("Router 重写了 sync")
super().sync()
print("Router sync ...")


def start_sync(d: Device):
d.sync()


if __name__ == '__main__':
r = Router()
start_sync(r) # Run r.fn()
start_sync(PC())

```
2023-05-17 22:16:44 +08:00
回复了 Lighthughjiajin 创建的主题 程序员 关于 Golang 和 Python 设计数据结构思维的区别
@Contextualist 终于看到比较地道的写法,是我想了解的。
还有一点疑问,在这场景下,IDevice, Device 结构体、接口的命名有什么约定吗?
2023-04-07 13:43:35 +08:00
回复了 Andor_Chen 创建的主题 推广 送几本“通透”的《流畅的 Python (第 2 版)》
希望有机会看看这本书
2023-02-25 19:15:04 +08:00
回复了 Lighthughjiajin 创建的主题 互联网 群辉 + openwrz + zerotier ping 不通
我理解是,我本机访问一个不是同网段的地址,应该会问网关,但是默认网关是主路由。并不会走到 openwrz 。我回家看看我的主路由器支不支持给我配
SO 文件是别人提供的,不是我自己写的 。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4137 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 17ms · UTC 05:21 · PVG 13:21 · LAX 21:21 · JFK 00:21
Developed with CodeLauncher
♥ Do have faith in what you're doing.