《Go程序设计语言》笔记 第4章 复合类型
在第3章,我们讨论了基本类型,它们是Go宇宙中的“原子”。在本章中,将介绍复合类型(composite type),即由原子组合成的“分子”。我们将讨论四种复合类型——数组、切片、映射和结构体。在本章末尾,将展示如何将使用这些类型的结构化数据编码和解析JSON数据,以及如何从模板生成HTML。 数组和结构体是聚合类型(aggregate type),在内存中它们的值是由其他值拼接而成的。数...
在第3章,我们讨论了基本类型,它们是Go宇宙中的“原子”。在本章中,将介绍复合类型(composite type),即由原子组合成的“分子”。我们将讨论四种复合类型——数组、切片、映射和结构体。在本章末尾,将展示如何将使用这些类型的结构化数据编码和解析JSON数据,以及如何从模板生成HTML。 数组和结构体是聚合类型(aggregate type),在内存中它们的值是由其他值拼接而成的。数...
C++将内存管理的控制权完全交给了程序员。这种设计赋予了C++卓越的性能优势,同时也带来了内存泄漏、悬空指针等潜在风险。 本文将系统性地介绍C++中的动态内存分配方式,从传统的C函数到现代C++特性,对比各种方式的特点,并总结常见陷阱和最佳实践。 1.malloc和free C++继承了C语言的内存分配函数malloc()和free(),定义在头文件<cstdlib>中: ...
1.问题 假设有下面的用户表和订单表: CREATE TABLE Users ( user_id INT, name VARCHAR(50), age INT, PRIMARY KEY (user_id) ); CREATE TABLE Orders ( order_id INT, user_id INT, create_time ...
Go的类型分为四类:基本类型(basic type)、聚合类型(aggregate type)、引用类型(reference type)和接口类型(interface type)。本章的主题是基本类型,包括数字、字符串和布尔值。聚合类型——数组(4.1节)和结构体(4.4节)——将简单类型组合成更复杂的数据类型。引用类型包括指针(2.3.2节)、切片(4.2节)、映射(4.3节)、函数(第5...
Agent Skills是继MCP之后Anthropic推出的又一个Agent行业标准。本文将介绍Agent Skills的核心原理,如何在实践中使用skill,以及如何创建自己的skill。 1.基本概念 什么是Skill? 随着AI Agent的能力日益强大,一个新的挑战浮现:如何让Agent可靠地完成特定领域的复杂任务,而不是每次都从零开始? Agent Skills 正是为了解决...
和其他编程语言一样,在Go中,你从一小部分基本结构来构建大型程序。变量存储值。简单表达式通过加法和减法等操作组合成复杂表达式。基本类型被收集到数组和结构体等聚合类型中。表达式用于语句中,语句的执行顺序由if和for等控制流语句决定。语句组成函数以实现隔离和重用。函数收集到源文件和包中。 在本章中,我们将更详细地介绍Go程序的基本结构元素。 2.1 命名 Go语言函数、变量、常量、类型、语...
https://docs.scala-lang.org/overviews/core/futures.html https://docs.scala-lang.org/overviews/scala-book/futures.html 7.1 引言 在Scala中编写并发代码时,仍然可以使用原生的Java线程。但应该优先选择Scala的Future,它能够使并发编程容易得多。 Futu...
https://docs.scala-lang.org/overviews/scala-book/collections-101.html 如果你从Java转向Scala,最好忘记Java集合类并开始使用Scala集合类。 6.1 主要集合类 常用的主要Scala集合类如下表所示: 类 描述 Seq ...
5.1 泛型类 https://docs.scala-lang.org/tour/generic-classes.html 泛型类(generic class)是接受类型参数的类。它们对于集合类特别有用。 5.1.1 定义泛型类 泛型类在类名后的[]内声明类型参数。 class Stack[A] { private var elements: List[A] = Nil de...
https://docs.scala-lang.org/overviews/scala-book/traits-intro.html Scala 特质(trait)是该语言的一大特点。可以像Java接口一样使用,也可以像抽象类一样使用。Scala类还可以扩展和“混入”(mix in)多个特质。 Scala也有抽象类的概念,我们将展示何时应该使用抽象类而不是特质。 4.1 特质用作接口 ...