如何在多个编程语言间切换自如
目录
基本思路
- 基本结构和控制流要记住,也就是熟悉基本语法
- 识别各自语言的特性,也就是知道高级特性
本文主要是熟悉基本语法,搞清楚不同的编程语言怎么描述相同的功能的。对于高级特性,点到为止。
数据结构
栈
Go
stack := make([]string, 0, 10)
// 入栈
stack = append(stack, "A")
// 出栈
v := stack[len(stack)-1]
stack = stack[:len(stack)-1]
// 判断是否为空
isEmpty := len(stack) == 0
Python
L = []
L.append('D') # 入栈
L.pop() # 出栈
L[-1] # peek
队列
Go
queue := make([]int, 0)
// 入队
queue = append(queue, 10)
// 出队
v := queue[0]
queue = queue[1:]
// 判断是否为空
isEmpty := len(queue) == 0
Python
L = []
L.append('D') # 入队
L.pop(0) # 出队
L[0] # peek
控制流
循环
Go
/* Go 只有 for 循环 */
for i, val := range arr {
// ...
}
for i := 0; i < len(arr); i++ {
// ...
}
Python
for i in range(10):
pass
for i in range(0, 10, 1):
pass
for val in arr:
pass
for i, val in enumerate(arr):
pass
else
pass
while len(queue) > 0:
pass
else
pass
while flag: print(str(flag))