S SmartDocs

编程语言

Python、C、C++、Java、JavaScript、TypeScript、Go、R 与 Haskell 教程,从入门语法到高级技巧。

C++ 4th 更新于 2026-02-03

Chapter 3: UserDefined Types

After completing this chapter, you will: Master classes and objects in C++ Understand constructors and destructors Learn about member functions and data members Understand access control public, private, protected Master

阅读文章 →
C++ 4th 更新于 2026-02-03

🩵 Part I – Introductory Material Chapters 15

After completing this section, you will: Understand C++ design philosophy and compilation model Master basic C++ syntax, types, and memory model Learn fundamental abstraction mechanisms Use STL containers and algorithms

阅读文章 →
C++ 4th 更新于 2026-02-03

C++ Programming Curriculum 4th Edition

This comprehensive C++ curriculum follows the structure of "The C++ Programming Language, 4th Edition" by Bjarne Stroustrup. It's designed to take you from beginner to advanced C++ programmer through handson practice and

阅读文章 →
Go 更新于 2026-04-18

Baasid backend project v1.1

用戶於登入系統請求成功後,Server 產生 JWT token 回傳給客戶端,且之後的CRUD Request 都需帶入 Token 取得 Response Data

阅读文章 →
Go 更新于 2026-04-18

Baasid Backend v1.1

Go + Echo + GORM + PostgreSQL REST API with JWT authentication and Swagger OpenAPI documentation.

阅读文章 →
Go 更新于 2026-04-18

Go: Full Teaching Material + DSA in Go

This repository is a selfcontained Go course. It is split into two parts:

阅读文章 →
Go 更新于 2026-04-18

Chapter 1 — Why Go

Go also called Golang is a statically typed, compiled, garbagecollected programming language designed at Google in 2007 and released as open source in 2009. It was created by Robert Griesemer, Rob Pike and Ken Thompson w

阅读文章 →
Go 更新于 2026-04-18

Chapter 2 — Environment and Tooling

wget https://go.dev/dl/go1.22.0.linuxamd64.tar.gz sudo rm rf /usr/local/go sudo tar C /usr/local xzf go1.22.0.linuxamd64.tar.gz echo 'export PATH=$PATH:/usr/local/go/bin' ~/.profile

阅读文章 →
Go 更新于 2026-04-18

Chapter 3 — Lexical Basics

Every Go file starts with a package declaration. Files in the same directory must declare the same package. A program is a collection of packages; the entry point is package main with func main.

阅读文章 →
Go 更新于 2026-04-18

Chapter 4 — Builtin Types

Operators: &&, , . Shortcircuit evaluation. There is no implicit conversion between bool and integers — if 1 { ... } is a compile error.

阅读文章 →
Go 更新于 2026-04-18

Chapter 5 — Control Flow

Go has only a handful of control structures and no parentheses around their conditions. The body braces are always required.

阅读文章 →
Go 更新于 2026-04-18

Chapter 6 — Functions and Methods

When consecutive parameters share a type, you can write the type once a, b int.

阅读文章 →
Go 更新于 2026-04-18

Chapter 7 — Interfaces

An interface is a set of method signatures. Any type that has all of those methods satisfies the interface — automatically, without declaring intent. This is called structural or implicit typing.

阅读文章 →
Go 更新于 2026-04-18

Chapter 8 — Pointers and Memory

A pointer holds the memory address of a value. The type of a pointer to T is T. The zero value of any pointer is nil.

阅读文章 →
Go 更新于 2026-04-18

Chapter 9 — Generics

Generics arrived in Go 1.18 March 2022. They let you write functions and types that work on a parametric set of types, with compiletime type checking.

阅读文章 →
Go 更新于 2026-04-18

Chapter 10 — Concurrency

"Don't communicate by sharing memory; share memory by communicating." — Rob Pike

阅读文章 →
Go 更新于 2026-04-18

Chapter 11 — Testing

Go's standard library includes everything you need for testing: the testing package plus the go test command.

阅读文章 →
Go 更新于 2026-04-18

Chapter 12 — Modules and Dependencies

A module is a unit of versioning and distribution: a tree of Go packages identified by a module path, with explicit dependencies and a recorded build list. Modules replaced the older GOPATH workflow in Go 1.11+ and have

阅读文章 →
Go 更新于 2026-04-18

Chapter 13 — Practical Go

A grab bag of the topics you need most often in real services: HTTP, JSON, logging, configuration, structured project layout, and a few productionready patterns.

阅读文章 →
Go 更新于 2026-04-18

Chapter 1 — Arrays and Slices

Array NT — fixed length, length is part of the type, value semantics. Rarely used directly. Slice T — {ptr, len, cap} view into a backing array. Reference semantics for the underlying data. Used everywhere.

阅读文章 →
Go 更新于 2026-04-18

Chapter 2 — Stack

A stack is a LIFO lastin, firstout container with two main operations:

阅读文章 →
Go 更新于 2026-04-18

Chapter 3 — Queue Ring Buffer

A queue is a FIFO firstin, firstout container. The two main operations are:

阅读文章 →
Go 更新于 2026-04-18

Chapter 4 — Sorting

Sorting is the canonical algorithms topic. Knowing several sorts and their tradeoffs is part of any working programmer's vocabulary. This chapter implements five classic algorithms in Go and explains when to use each.

阅读文章 →
Go 更新于 2026-04-18

Chapter 5 — Hash Tables

A hash table maps keys to values with expected O1 lookup, insert, and delete. The trick: a hash function turns a key into an integer, which is reduced modulo the bucket count into an index, and an entry is stored at that

阅读文章 →