diff --git a/src/.vuepress/config.ts b/src/.vuepress/config.ts
index 0b6866f3..bc65febc 100644
--- a/src/.vuepress/config.ts
+++ b/src/.vuepress/config.ts
@@ -5,12 +5,12 @@ export default defineUserConfig({
base: "/",
locales: {
- "/": {
+ "/en/": {
lang: "en-US",
title: "Go Guide",
description: "Golang guide for interview",
},
- "/zh/": {
+ "/": {
lang: "zh-CN",
title: "Go 面试宝典",
description: "Golang 面试宝典,面试题和基础",
diff --git a/src/.vuepress/navbar/en.ts b/src/.vuepress/navbar/en.ts
index 265f26b4..5cf034b5 100644
--- a/src/.vuepress/navbar/en.ts
+++ b/src/.vuepress/navbar/en.ts
@@ -1,7 +1,7 @@
import { navbar } from "vuepress-theme-hope";
export const enNavbar = navbar([
- "/",
+ "/en/",
{
text: "Guide",
icon: "icon-park-outline:mountain",
diff --git a/src/.vuepress/navbar/zh.ts b/src/.vuepress/navbar/zh.ts
index 8395a8b1..16a9a2f7 100644
--- a/src/.vuepress/navbar/zh.ts
+++ b/src/.vuepress/navbar/zh.ts
@@ -1,7 +1,7 @@
import { navbar } from "vuepress-theme-hope";
export const zhNavbar = navbar([
- "/zh/",
+ "/",
{
text: "指南",
icon: "icon-park-outline:mountain",
diff --git a/src/.vuepress/sidebar/en.ts b/src/.vuepress/sidebar/en.ts
index 9f1d16d3..9a6c42c3 100644
--- a/src/.vuepress/sidebar/en.ts
+++ b/src/.vuepress/sidebar/en.ts
@@ -1,7 +1,7 @@
import { sidebar } from "vuepress-theme-hope";
export const enSidebar = sidebar({
- "/": [
+ "/en/": [
{
text: "Guide",
icon: "mingcute:book-line",
@@ -19,13 +19,20 @@ export const enSidebar = sidebar({
children: "structure",
}
]
- },
+ },
{
- text: "Golang",
- icon: "grommet-icons:golang",
- prefix: "basic/",
- children: "structure"
- },
+ text: "Interview Question",
+ icon: "solar:book-outline",
+ prefix: "interview/",
+ children: [
+ {
+ text: "Golang",
+ icon: "grommet-icons:golang",
+ prefix: "golang/basic/",
+ children: "structure"
+ }
+ ]
+ },
],
},
],
diff --git a/src/.vuepress/sidebar/zh.ts b/src/.vuepress/sidebar/zh.ts
index db67903f..e32f5cb8 100644
--- a/src/.vuepress/sidebar/zh.ts
+++ b/src/.vuepress/sidebar/zh.ts
@@ -1,7 +1,7 @@
import { sidebar } from "vuepress-theme-hope";
export const zhSidebar = sidebar({
- "/zh/": [
+ "/": [
{
text: "面试宝典",
icon: "mingcute:book-line",
@@ -21,11 +21,18 @@ export const zhSidebar = sidebar({
]
},
{
- text: "Golang",
- icon: "grommet-icons:golang",
- prefix: "basic/",
- children: "structure"
- }
+ text: "面试题",
+ icon: "solar:book-outline",
+ prefix: "interview/",
+ children: [
+ {
+ text: "Golang",
+ icon: "grommet-icons:golang",
+ prefix: "golang/basic/",
+ children: "structure"
+ }
+ ]
+ },
],
},
],
diff --git a/src/.vuepress/theme.ts b/src/.vuepress/theme.ts
index 8362c46a..7124d39a 100644
--- a/src/.vuepress/theme.ts
+++ b/src/.vuepress/theme.ts
@@ -21,7 +21,7 @@ export default hopeTheme({
breadcrumb: false,
locales: {
- "/": {
+ "/en/": {
// navbar
navbar: enNavbar,
@@ -40,7 +40,7 @@ export default hopeTheme({
/**
* Chinese locale config
*/
- "/zh/": {
+ "/": {
// navbar
navbar: zhNavbar,
diff --git a/src/README.md b/src/README.md
index 689ba6fb..c9128e5f 100644
--- a/src/README.md
+++ b/src/README.md
@@ -1,15 +1,15 @@
---
home: true
icon: home
-title: Go Guide
+title: Go 面试宝典
heroImage: /logo.svg
-heroText: Go Guide
-tagline: Golang interview guide
+heroText: Go 面试宝典
+tagline: Golang 面试基础,常见面试题。
actions:
- - text: Guide
+ - text: 指南
link: ./guide/
type: primary
copyright: false
-footer: Apache2.0 license, Copyright © 2024-present Go Guide
\ No newline at end of file
+footer: Apache2.0 协议, 版权所有 © 2024-present Go Guide
diff --git a/src/en/README.md b/src/en/README.md
new file mode 100644
index 00000000..689ba6fb
--- /dev/null
+++ b/src/en/README.md
@@ -0,0 +1,15 @@
+---
+home: true
+icon: home
+title: Go Guide
+heroImage: /logo.svg
+heroText: Go Guide
+tagline: Golang interview guide
+actions:
+ - text: Guide
+ link: ./guide/
+ type: primary
+
+
+copyright: false
+footer: Apache2.0 license, Copyright © 2024-present Go Guide
\ No newline at end of file
diff --git a/src/en/guide/README.md b/src/en/guide/README.md
new file mode 100644
index 00000000..2472b7f6
--- /dev/null
+++ b/src/en/guide/README.md
@@ -0,0 +1,8 @@
+---
+title: Guide
+icon: mingcute:book-line
+---
+
+## introduce
+
+This website mainly provides Golang interview frequently asked questions and basic knowledge.
\ No newline at end of file
diff --git a/src/en/guide/concepts/golang/1-basic.md b/src/en/guide/concepts/golang/1-basic.md
new file mode 100644
index 00000000..965b735c
--- /dev/null
+++ b/src/en/guide/concepts/golang/1-basic.md
@@ -0,0 +1,41 @@
+---
+order: 1
+title: 'Keywords'
+---
+
+## Keywords
+
+Golang has 25 reserved keywords that cannot be used as program identifiers.
+
+| Type | Keywords | Introduction |
+| ------------------ | ------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
+| Declaration | `const` `func` `import` `package` `type` `var` | These keywords are used to declare various elements in the code. |
+| Compound Types | `chan` `interface` `map` `struct` | These keywords are used to declare some special compound types. |
+| Flow Control | `break` `case` `continue` `default` `else` `fallthrough` `for` `goto` `if` `range` `return` `select` `switch` | These keywords are used to control the flow of program execution. |
+| Function Modifiers | `defer` `go` | Used to modify special functions. |
+
+## Declaration Type Keywords
+
+### **const**
+
+`const` is used to declare constants, which once declared cannot be changed, and must specify an initial value when declaring a constant.
+
+
+Example
+
+```go
+const identifier T = value // T is the data type, which can be omitted, and the compiler will infer it.
+const identifier1, identifier2 = value1, value2 // Declare multiple, such as const a, b, c = "hello", 100, true
+
+const (
+ FeMale = 0
+ Male = 1
+) // Enumeration
+
+const (
+ a = iota
+ b
+ c
+) // iota
+```
+
\ No newline at end of file
diff --git a/src/guide/basic/1-basic.md b/src/en/guide/interview/golang/basic/1-basic.md
similarity index 100%
rename from src/guide/basic/1-basic.md
rename to src/en/guide/interview/golang/basic/1-basic.md
diff --git a/src/guide/README.md b/src/guide/README.md
index 2472b7f6..22cfe835 100644
--- a/src/guide/README.md
+++ b/src/guide/README.md
@@ -1,8 +1,8 @@
---
-title: Guide
+title: 指南
icon: mingcute:book-line
---
-## introduce
+## 介绍
-This website mainly provides Golang interview frequently asked questions and basic knowledge.
\ No newline at end of file
+本栏目主要提供 Golang 面试常见问题。
\ No newline at end of file
diff --git a/src/guide/concepts/golang/1-basic.md b/src/guide/concepts/golang/1-basic.md
index 965b735c..fded6c94 100644
--- a/src/guide/concepts/golang/1-basic.md
+++ b/src/guide/concepts/golang/1-basic.md
@@ -1,36 +1,37 @@
---
order: 1
-title: 'Keywords'
+title: '保留关键字'
---
-## Keywords
+## 1. 保留关键字
-Golang has 25 reserved keywords that cannot be used as program identifiers.
+golang 有 25 个保留的关键字,这些关键字不能用作程序标识符。
-| Type | Keywords | Introduction |
-| ------------------ | ------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
-| Declaration | `const` `func` `import` `package` `type` `var` | These keywords are used to declare various elements in the code. |
-| Compound Types | `chan` `interface` `map` `struct` | These keywords are used to declare some special compound types. |
-| Flow Control | `break` `case` `continue` `default` `else` `fallthrough` `for` `goto` `if` `range` `return` `select` `switch` | These keywords are used to control the flow of program execution. |
-| Function Modifiers | `defer` `go` | Used to modify special functions. |
+| 类型 | 关键字 | 介绍 |
+| -------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------ |
+| 声明 | `const` `func` `import` `package` `type` `var` | 这些关键字用于声明代码中的各种元素 |
+| 复合类型 | `chan` `interface` `map` `struct` | 这些关键字用于声明一些特殊的复合类型 |
+| 流程控制 | `break` `case` `continue` `default` `else` `fallthrough` `for` `goto` `if` `range` `return` `select` `switch` | 这些关键字用于控制程序运行流程 |
+| 功能修饰 | `defer` `go` | 用于修饰特殊的 function |
-## Declaration Type Keywords
-### **const**
+## 2. 声明类型关键字
-`const` is used to declare constants, which once declared cannot be changed, and must specify an initial value when declaring a constant.
+### 2.1. **const**
+
+`const` 用于声明常量,常量一经声明就不能被更改,声明常量必须指定初始值。
-Example
+例子
```go
-const identifier T = value // T is the data type, which can be omitted, and the compiler will infer it.
-const identifier1, identifier2 = value1, value2 // Declare multiple, such as const a, b, c = "hello", 100, true
+const identifier T = value // T 为数据类型,可以省略,编译器会自己推断。
+const identifier1, identifier2 = value1, value2 // 声明多个,如 const a, b, c = "hello", 100, true
const (
FeMale = 0
Male = 1
-) // Enumeration
+) // 枚举
const (
a = iota
@@ -38,4 +39,46 @@ const (
c
) // iota
```
-
\ No newline at end of file
+
+
+#### 2.1.1. **func**
+
+`func` 用于声明函数,支持多个返回值,不支持默认参数。
+
+
+
+例子
+
+```go
+// p 为参数, T 为类型
+func Test(p T) {}
+func Test(p T) (T1, T2) {}
+func Test (p T, p1, T1, list ...T3) (T4, T5) {} // 不定参数
+```
+
+
+
+#### 2.1.2. **import**
+
+`import` 用于导入包,使用其公开的标识符。
+
+`import` 支持单行和多行导入。
+
+```go
+import "flag" // 单个导入
+
+import (
+ "flag"
+ "fmt"
+) // 多个导入
+```
+
+我们还可以使用 `.`, `_` 和别名修饰导入的包。
+
+| 导入命令 | 使用方法 | 解析 |
+| ---------------------- | -------- | --------------------------------------------- |
+| `import "lib/math"` | math.Sin | 普通导入需要使用包名 |
+| `import m "lib/math"` | m.Sin | 可以在导入时设置别名 |
+| `import . "lib/math" ` | Sin | 使用 `.` 导入本地可以直接使用函数,不需要包名 |
+
+我们还可以使用 `_` 来修饰导入的包,这样只会执行导入包的初始化函数 `init()`
diff --git a/src/zh/guide/basic/1-basic.md b/src/guide/interview/golang/basic/1-basic.md
similarity index 100%
rename from src/zh/guide/basic/1-basic.md
rename to src/guide/interview/golang/basic/1-basic.md
diff --git a/src/zh/README.md b/src/zh/README.md
deleted file mode 100644
index c9128e5f..00000000
--- a/src/zh/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-home: true
-icon: home
-title: Go 面试宝典
-heroImage: /logo.svg
-heroText: Go 面试宝典
-tagline: Golang 面试基础,常见面试题。
-actions:
- - text: 指南
- link: ./guide/
- type: primary
-
-
-copyright: false
-footer: Apache2.0 协议, 版权所有 © 2024-present Go Guide
diff --git a/src/zh/guide/README.md b/src/zh/guide/README.md
deleted file mode 100644
index 22cfe835..00000000
--- a/src/zh/guide/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: 指南
-icon: mingcute:book-line
----
-
-## 介绍
-
-本栏目主要提供 Golang 面试常见问题。
\ No newline at end of file
diff --git a/src/zh/guide/concepts/golang/1-basic.md b/src/zh/guide/concepts/golang/1-basic.md
deleted file mode 100644
index fded6c94..00000000
--- a/src/zh/guide/concepts/golang/1-basic.md
+++ /dev/null
@@ -1,84 +0,0 @@
----
-order: 1
-title: '保留关键字'
----
-
-## 1. 保留关键字
-
-golang 有 25 个保留的关键字,这些关键字不能用作程序标识符。
-
-| 类型 | 关键字 | 介绍 |
-| -------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------ |
-| 声明 | `const` `func` `import` `package` `type` `var` | 这些关键字用于声明代码中的各种元素 |
-| 复合类型 | `chan` `interface` `map` `struct` | 这些关键字用于声明一些特殊的复合类型 |
-| 流程控制 | `break` `case` `continue` `default` `else` `fallthrough` `for` `goto` `if` `range` `return` `select` `switch` | 这些关键字用于控制程序运行流程 |
-| 功能修饰 | `defer` `go` | 用于修饰特殊的 function |
-
-
-## 2. 声明类型关键字
-
-### 2.1. **const**
-
-`const` 用于声明常量,常量一经声明就不能被更改,声明常量必须指定初始值。
-
-
-例子
-
-```go
-const identifier T = value // T 为数据类型,可以省略,编译器会自己推断。
-const identifier1, identifier2 = value1, value2 // 声明多个,如 const a, b, c = "hello", 100, true
-
-const (
- FeMale = 0
- Male = 1
-) // 枚举
-
-const (
- a = iota
- b
- c
-) // iota
-```
-
-
-#### 2.1.1. **func**
-
-`func` 用于声明函数,支持多个返回值,不支持默认参数。
-
-
-
-例子
-
-```go
-// p 为参数, T 为类型
-func Test(p T) {}
-func Test(p T) (T1, T2) {}
-func Test (p T, p1, T1, list ...T3) (T4, T5) {} // 不定参数
-```
-
-
-
-#### 2.1.2. **import**
-
-`import` 用于导入包,使用其公开的标识符。
-
-`import` 支持单行和多行导入。
-
-```go
-import "flag" // 单个导入
-
-import (
- "flag"
- "fmt"
-) // 多个导入
-```
-
-我们还可以使用 `.`, `_` 和别名修饰导入的包。
-
-| 导入命令 | 使用方法 | 解析 |
-| ---------------------- | -------- | --------------------------------------------- |
-| `import "lib/math"` | math.Sin | 普通导入需要使用包名 |
-| `import m "lib/math"` | m.Sin | 可以在导入时设置别名 |
-| `import . "lib/math" ` | Sin | 使用 `.` 导入本地可以直接使用函数,不需要包名 |
-
-我们还可以使用 `_` 来修饰导入的包,这样只会执行导入包的初始化函数 `init()`