yumaojun03 243907d045 ```
docs(day01): 完善Go语言基础教程内容

- 添加指针概念章节,包含指针的基本概念、使用场景和示例代码
- 补充基础类型章节的零值说明,解释各种基础类型的默认值
- 扩展运算符章节,增加逻辑运算符和位运算符的详细说明
- 更新README目录结构,添加新章节的导航链接
- 添加指针相关的演示图表和示例代码文件
```
2025-12-28 17:26:05 +08:00

50 lines
1.2 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package main
import (
"flag"
"fmt"
)
func main() {
// a := 10
// b := 20
// c := sum(a, b)
// println("a + b =", c)
// // 使用指针作为函数参数
// // 0x14000108020
// var result int
// // &result (类型安全的指针) 东西叫指针 有类型约束首GC印象的 地址
// fmt.Println("result 地址 =", &result)
// sumWithPointer(a, b, &result)
// println("a + b =", result)
// // uintptr 是无类型指针,可以存放任意指针的地址值, 裸内存地址, 不安全指针, 可能随时被回事,成为一个无效地址
// // 非法使用 uintptr 导致程序崩溃
// fmt.Println("result 地址 uintptr =", uintptr(unsafe.Pointer(&result)))
// 获取用户输入
// var i int
// fmt.Println("请输入一个整数:")
// fmt.Scan(&i) // 把输入写入 i
// fmt.Println("你输入的整数是:", i)
// 命令行参数解析
// --port 9090
var port int
flag.IntVar(&port, "port", 8080, "server port") // 命令行参数绑定到变量
flag.Parse()
fmt.Println("服务器端口号是:", port)
}
func sum(a int, b int) int {
return a + b
}
// 这个函数没有Retrun
// *int 就是指针类型, 传递是 int这种类型的变量的地址
func sumWithPointer(a int, b int, c *int) {
*c = a + b
}