积分充值
 首页
前端开发
AngularDartElectronFlutterHTML/CSSJavaScriptReactSvelteTypeScriptVue.js构建工具
后端开发
.NetC#C++C语言DenoffmpegGoIdrisJavaJuliaKotlinLeanMakefilenimNode.jsPascalPHPPythonRISC-VRubyRustSwiftUML其它语言区块链开发测试微服务敏捷开发架构设计汇编语言
数据库
Apache DorisApache HBaseCassandraClickHouseFirebirdGreenplumMongoDBMySQLPieCloudDBPostgreSQLRedisSQLSQLiteTiDBVitess数据库中间件数据库工具数据库设计
系统运维
AndroidDevOpshttpdJenkinsLinuxPrometheusTraefikZabbix存储网络与安全
云计算&大数据
Apache APISIXApache FlinkApache KarafApache KyuubiApache OzonedaprDockerHadoopHarborIstioKubernetesOpenShiftPandasrancherRocketMQServerlessService MeshVirtualBoxVMWare云原生CNCF机器学习边缘计算
综合其他
BlenderGIMPKiCadKritaWeblate产品与服务人工智能亿图数据可视化版本控制笔试面试
文库资料
前端
AngularAnt DesignBabelBootstrapChart.jsCSS3EchartsElectronHighchartsHTML/CSSHTML5JavaScriptJerryScriptJestReactSassTypeScriptVue前端工具小程序
后端
.NETApacheC/C++C#CMakeCrystalDartDenoDjangoDubboErlangFastifyFlaskGinGoGoFrameGuzzleIrisJavaJuliaLispLLVMLuaMatplotlibMicronautnimNode.jsPerlPHPPythonQtRPCRubyRustR语言ScalaShellVlangwasmYewZephirZig算法
移动端
AndroidAPP工具FlutterFramework7HarmonyHippyIoniciOSkotlinNativeObject-CPWAReactSwiftuni-appWeex
数据库
ApacheArangoDBCassandraClickHouseCouchDBCrateDBDB2DocumentDBDorisDragonflyDBEdgeDBetcdFirebirdGaussDBGraphGreenPlumHStreamDBHugeGraphimmudbIndexedDBInfluxDBIoTDBKey-ValueKitDBLevelDBM3DBMatrixOneMilvusMongoDBMySQLNavicatNebulaNewSQLNoSQLOceanBaseOpenTSDBOracleOrientDBPostgreSQLPrestoDBQuestDBRedisRocksDBSequoiaDBServerSkytableSQLSQLiteTiDBTiKVTimescaleDBYugabyteDB关系型数据库数据库数据库ORM数据库中间件数据库工具时序数据库
云计算&大数据
ActiveMQAerakiAgentAlluxioAntreaApacheApache APISIXAPISIXBFEBitBookKeeperChaosChoerodonCiliumCloudStackConsulDaprDataEaseDC/OSDockerDrillDruidElasticJobElasticSearchEnvoyErdaFlinkFluentGrafanaHadoopHarborHelmHudiInLongKafkaKnativeKongKubeCubeKubeEdgeKubeflowKubeOperatorKubernetesKubeSphereKubeVelaKumaKylinLibcloudLinkerdLonghornMeiliSearchMeshNacosNATSOKDOpenOpenEBSOpenKruiseOpenPitrixOpenSearchOpenStackOpenTracingOzonePaddlePaddlePolicyPulsarPyTorchRainbondRancherRediSearchScikit-learnServerlessShardingSphereShenYuSparkStormSupersetXuperChainZadig云原生CNCF人工智能区块链数据挖掘机器学习深度学习算法工程边缘计算
UI&美工&设计
BlenderKritaSketchUI设计
网络&系统&运维
AnsibleApacheAWKCeleryCephCI/CDCurveDevOpsGoCDHAProxyIstioJenkinsJumpServerLinuxMacNginxOpenRestyPrometheusServertraefikTrafficUnixWindowsZabbixZipkin安全防护系统内核网络运维监控
综合其它
文章资讯
 上传文档  发布文章  登录账户
IT文库
  • 综合
  • 文档
  • 文章

无数据

分类

全部后端开发(27)Go(27)

语言

全部中文(简体)(26)中文(繁体)(1)

格式

全部PDF文档 PDF(24)其他文档 其他(2)PPT文档 PPT(1)
 
本次搜索耗时 0.110 秒,为您找到相关结果约 27 个.
  • 全部
  • 后端开发
  • Go
  • 全部
  • 中文(简体)
  • 中文(繁体)
  • 全部
  • PDF文档 PDF
  • 其他文档 其他
  • PPT文档 PPT
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • pdf文档 Go性能优化概览-曹春晖

    slice,查找时间复杂度增加,但内存使⽤ 降低 • offheap • 邪道:动态调整 GOGC • Goroutine 栈占⽤过多内存 • 减少 goroutine 数量 • 如每个连接⼀读⼀写 -> 合并为⼀个连接⼀个 goroutine • Goroutine pool 限制最⼤ goroutine 数量 • 使⽤裸 epoll 库(evio,gev 等)修改⽹络编程⽅式(只适⽤于对延迟不敏感的业务) 出现了死锁 ⾃动 dumper 能够发现的偶发线上问题⼀览 Holmes 之前定位出的线上问题 Decode huge packet 某些语⾔的⽹络 encoding 有 bug 可能发⽣了字段偏移 ⾃动 dumper 能够发现的偶发线上问题⼀览 当服务上线时有机器的上下线通知 订阅该服务的其它服务 会收到服务列表的变更通知 ⼀些⼤服务有⼏千个实例 突然下发⼤量服务发现数据 需要对服务发现下发的数据进⾏
    0 码力 | 40 页 | 8.69 MB | 1 年前
    3
  • epub文档 Golang 101(Go语言101 中文版) v1.21.a

    gccgo编译器对这两种情形是区别对待的。 func Offsetof(selector ArbitraryType) uintptr。 此函数用来取得一个 结构体值的某个字段的地址相对于此结构体值的地址的偏移。 在一个程 序中,对于同一个结构体类型的不同值的对应相同字段,此函数的返回值 总是相同的。 func Sizeof(variable ArbitraryType) uintptr。 此函数用来取得一个值 | //fmt.Println(unsafe.Offsetof(x.b)) // error 29 | 30 | // 此行可以编译过,但是它将打印出字段b在x.S中的偏移量. 31 | fmt.Println(unsafe.Offsetof(x.S.b)) // 0 32 | } 注意,上面程序中的注释所暗示的输出结果是此程序在AMD64架构上使用标 IntegerType int Go 1.17引入的两个函数为: func Add(ptr Pointer, len IntegerType) Pointer。 此函数在一个(非 安全)指针表示的地址上添加一个偏移量,然后返回表示新地址的一个指 针。 此函数以一种更正规的形式部分地覆盖了下面将要介绍的使用模式3 中展示的合法用法。 func Slice(ptr *ArbitraryType, len IntegerType)
    0 码力 | 821 页 | 956.82 KB | 1 年前
    3
  • mobi文档 Golang 101(Go语言101 中文版) v1.21.a

    gccgo编译器对这两种情形是区别对待的。 func Offsetof(selector ArbitraryType) uintptr。 此函数用来取得一个 结构体值的某个字段的地址相对于此结构体值的地址的偏移。 在一个程序 中,对于同一个结构体类型的不同值的对应相同字段,此函数的返回值总 是相同的。 func Sizeof(variable ArbitraryType) uintptr。 此函数用来取得一个值 此行编译不过,因为选择器x.b中的隐含字段S为指针。 //fmt.Println(unsafe.Offsetof(x.b)) // error // 此行可以编译过,但是它将打印出字段b在x.S中的偏移量. fmt.Println(unsafe.Offsetof(x.S.b)) // 0 } 注意,上面程序中的注释所暗示的输出结果是此程序在AMD64架构上使用标准 编译器1.21版本编译时的结果。 IntegerType int Go 1.17引入的两个函数为: func Add(ptr Pointer, len IntegerType) Pointer。 此函数在一个(非安 全)指针表示的地址上添加一个偏移量,然后返回表示新地址的一个指 针。 此函数以一种更正规的形式部分地覆盖了下面将要介绍的使用模式3 中展示的合法用法。 func Slice(ptr *ArbitraryType, len IntegerType)
    0 码力 | 608 页 | 1.08 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0b1 Golang版

    行文风格约定 标题后标注 * 的是选读章节,内容相对较难。如果你的时间有限,建议可以先跳过。 文章中的重要名词会用「括号」 标注,例如「数组 Array」 。建议记住这些名词,包括英文翻译,以便后续阅 读文献时使用。 重点内容、总起句、总结句会被 加粗,此类文字值得特别关注。 专有名词和有特指含义的词句会使用“双引号” 标注,以避免歧义。 0. 写在前面 hello‑algo.com 4 本书 本书的配套代码托管在GitHub 仓库,源代码包含详细注释,配有测试样例,可以直接运行。 ‧ 若学习时间紧张,建议至少将所有代码通读并运行一遍。 ‧ 若时间允许,强烈建议对照着代码自己敲一遍。相比于读代码,写代码的过程往往能带来新的收获。 0. 写在前面 hello‑algo.com 5 Figure 0‑4. 运行代码示例 第一步:安装本地编程环境。参照附录教程,如果已有可直接跳过。 第二步:下载代码仓。如果已经安装 = firtstElementAddr + elementLength * elementIndex 为什么数组元素索引从 0 开始编号?根据地址计算公式,索引本质上表示的是内存地址偏移量,首个元素的地 址偏移量是 0 ,那么索引是 0 也就很自然了。 访问元素的高效性带来了许多便利。例如,我们可以在 ?(1) 时间内随机获取一个数组中的元素。 // === File: array.go ===
    0 码力 | 190 页 | 14.71 MB | 1 年前
    3
  • pdf文档 Golang 101(Go语言101 中文版) v1.21.a

    困惑的积攒,我觉得我对Go的领悟非常有限。 我感觉我仍然是一个Go新手程序员。 我放弃了写那本书。 放弃?《Go语言101》现在不是已经完成了吗? 那本曾经计划要写的书不是《Go语言101》。 放弃那本书的写作计划后,我通过阅 读很多官方Go文档和网络中的各种Go文章、关注Go官方项目的问题跟踪列表和一些 Go论坛、查看一些代码等途径, 逐渐地,我几乎消除了我所有关于Go编程细节中的 困惑。 我大概花了大约一年时间来消除这些困惑。 指针类型*T的基类型(base type)。 如果一个指针类型的基类型为T,则我们可 以称此指针类型为一个T指针类型。 第15章:指针 120 虽然我们可以声明具名指针类型,但是一般不推荐这么做,因为无名指针类型的可 读性更高。 如果一个指针类型的底层类型(第14章)是*T,则它的基类型为T。 如果两个无名指针类型的基类型为同一类型,则这两个无名指针类型亦为同一类 型。 一些指针类型的例子: 1| *int 编译器对这两种情形是区别对待的。 func Offsetof(selector ArbitraryType) uintptr。 此函数用来取得 一个结构体值的某个字段的地址相对于此结构体值的地址的偏移。 在一个程 序中,对于同一个结构体类型的不同值的对应相同字段,此函数的返回值总是 相同的。 func Sizeof(variable ArbitraryType) uintptr。 此函数用来取得一
    0 码力 | 591 页 | 21.40 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0b2 Golang版

    行文风格约定 标题后标注 * 的是选读章节,内容相对较难。如果你的时间有限,建议可以先跳过。 文章中的重要名词会用「括号」 标注,例如「数组 Array」 。建议记住这些名词,包括英文翻译,以便后续阅 读文献时使用。 重点内容、总起句、总结句会被 加粗,此类文字值得特别关注。 专有名词和有特指含义的词句会使用“双引号” 标注,以避免歧义。 0. 写在前面 hello‑algo.com 4 本书 本书的配套代码托管在GitHub 仓库,源代码包含详细注释,配有测试样例,可以直接运行。 ‧ 若学习时间紧张,建议至少将所有代码通读并运行一遍。 ‧ 若时间允许,强烈建议对照着代码自己敲一遍。相比于读代码,写代码的过程往往能带来新的收获。 0. 写在前面 hello‑algo.com 5 Figure 0‑4. 运行代码示例 第一步:安装本地编程环境。参照附录教程,如果已有可直接跳过。 第二步:下载代码仓。如果已经安装 = firtstElementAddr + elementLength * elementIndex 为什么数组元素索引从 0 开始编号?根据地址计算公式,索引本质上表示的是内存地址偏移量,首个元素的地 址偏移量是 0 ,那么索引是 0 也就很自然了。 访问元素的高效性带来了许多便利。例如,我们可以在 ?(1) 时间内随机获取一个数组中的元素。 // === File: array.go ===
    0 码力 | 202 页 | 15.73 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.1.0 Go版

    [5]byte{} var bools = [5]bool{} 3.3 数字编码 * Note 在本书中,标题带有 * 符号的是选读章节。如果你时间有限或感到理解困难,可以先跳过,等学完必 读章节后再单独攻克。 第 3 章 数据结构 hello‑algo.com 56 3.3.1 原码、反码和补码 在上一节的表格中我们发现,所有整数类型能够表示的负数都比正数多一个,例如 byte 的取值范围是 4‑2 数组元素的内存地址计算 观察图 4‑2 ,我们发现数组首个元素的索引为 0 ,这似乎有些反直觉,因为从 1 开始计数会更自然。但从地 址计算公式的角度看,索引本质上是内存地址的偏移量。首个元素的地址偏移量是 0 ,因此它的索引为 0 是 合理的。 在数组中访问元素非常高效,我们可以在 ?(1) 时间内随机访问数组中的任意一个元素。 // === File: array.go === 据,例如 int、double、 string、object 等。 相对地,数组元素则必须是相同类型的,这样才能通过计算偏移量来获取对应元素位置。例如,数组同时包 含 int 和 long 两种类型,单个元素分别占用 4 字节 和 8 字节,此时就不能用以下公式计算偏移量了,因为 数组中包含了两种“元素长度”。 # 元素内存地址 = 数组内存地址(首元素内存地址) + 元素长度 * 元素索引
    0 码力 | 383 页 | 18.48 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0b4 Golang版

    两眼一抹黑地刷题似乎是最受欢迎的方法,简单直接且有效。然而,刷题就如同玩“扫雷”游戏,自学能力 强的同学能够顺利地将地雷逐个排掉,而基础不足的同学很可能被炸的满头是包,并在挫折中步步退缩。通 读教材书籍也是一种常见做法,但对于面向求职的同学来说,毕业季、投递简历、准备笔试面试已经占据了 大部分精力,厚重的书籍往往变成了一项艰巨的挑战。 如果你也面临类似的困扰,那么很幸运这本书找到了你。本 为什么数组元素的索引要从 0 开始编号呢? 观察上图,我们发现数组首个元素的索引为 0 ,这似乎有些反直觉,因为从 1 开始计数会更 自然。 然而,从地址计算公式的角度看,索引本质上表示的是内存地址的偏移量。首个元素的地址偏 移量是 0 ,因此索引为 0 也是合理的。 访问元素的高效性带来了诸多便利。例如,我们可以在 ?(1) 时间内随机获取数组中的任意一个元素。 // === File: array int, double, string, object 等。 相对地,数组元素则必须是相同类型的,这样才能通过计算偏移量来获取对应元素位置。例 如,如果数组同时包含 int 和 long 两种类型,单个元素分别占用 4 bytes 和 8 bytes ,那么此 时就不能用以下公式计算偏移量了,因为数组中包含了两种 elementLength 。 // 元素内存地址 = 数组内存地址 + 元素长度
    0 码力 | 347 页 | 27.40 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.2.0 简体中文 Go 版

    [5]byte{} var bools = [5]bool{} 3.3 数字编码 * Tip 在本书中,标题带有 * 符号的是选读章节。如果你时间有限或感到理解困难,可以先跳过,等学完必 读章节后再单独攻克。 第 3 章 数据结构 www.hello‑algo.com 56 3.3.1 原码、反码和补码 在上一节的表格中我们发现,所有整数类型能够表示的负数都比正数多一个,例如 byte 4‑2 数组元素的内存地址计算 观察图 4‑2 ,我们发现数组首个元素的索引为 0 ,这似乎有些反直觉,因为从 1 开始计数会更自然。但从地 址计算公式的角度看,索引本质上是内存地址的偏移量。首个元素的地址偏移量是 0 ,因此它的索引为 0 是 合理的。 在数组中访问元素非常高效,我们可以在 ?(1) 时间内随机访问数组中的任意一个元素。 // === File: array.go === 据,例如 int、double、 string、object 等。 相对地,数组元素则必须是相同类型的,这样才能通过计算偏移量来获取对应元素位置。例如,数组同时包 含 int 和 long 两种类型,单个元素分别占用 4 字节和 8 字节,此时就不能用以下公式计算偏移量了,因为数 组中包含了两种“元素长度”。 # 元素内存地址 = 数组内存地址(首元素内存地址) + 元素长度 * 元素索引
    0 码力 | 384 页 | 18.49 MB | 10 月前
    3
  • pdf文档 Go 入门指南(The way to Go)

    格式化代码之后,每个分支内的代码都会缩进 4 个或 8 个空格,或者是 1 个 tab,并且右大括号与对应的 if 关键字垂直对齐。 在有些情况下,条件语句两侧的括号是可以被省略的;当条件比较复杂时,则可以使用括号让代码更易 读。条件允许是符合条件,需使用 &&、|| 或 !,你可以使用括号来提升某个表达式的运算优先级,并提高 代码的可读性。 一种可能用到条件语句的场景是测试变量的值,在不同的情况执行不同的语句,不过将在第 lock sync.Mutex buffer bytes.Buffer } 在 sync 包中还有一个 RWMutex 锁:他能通过 RLock() 来允许同一时间多个线程对变量进行读操作, 但是只能一个线程进行写操作。如果使用 Lock() 将和普通的 Mutex 作用相同。包中还有一个方便的 Once 类型变量的方法 once.Do(call) ,这个方法确保被调用函数只能被调用一次。 new(Voodoo) v.Magic() v.MoreMagic() } 10.6.8 通用方法和方法命名 在编程中一些基本操作会一遍又一遍的出现,比如打开(Open)、关闭(Close)、读(Read)、写 (Write)、排序(Sort)等等,并且它们都有一个大致的意思:打开(Open)可以作用于一个文件、一 个网络连接、一个数据库连接等等。具体的实现可能千差万别,但是基本的概念是一致的。在
    0 码力 | 380 页 | 2.97 MB | 1 年前
    3
共 27 条
  • 1
  • 2
  • 3
前往
页
相关搜索词
Go性能优化概览春晖Golang101语言中文文版中文版v121Hello算法1.00b10b21.10b41.2简体简体中文入门指南Thewayto
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩