[GoLang避坑实战-06] 该选指针接收者吗?老墨带你一次理清函数与方法的纠葛

大家好,我是极客老墨。 函数返回多个值?刚接触 Go 时我还不习惯,写惯了 Java 的单返回值。后来发现这设计真香,错误处理直接 result, err := doSomething(),不用再搞什么异常捕获。 更绝的是 Go 的闭包、defer、方法绑定,这些特性组合起来,让代码既简洁又强大。 这篇就聊聊 Go 函数和方法的几个核心特性。 函数声明:类型在后面 Go 的函数声明用 func 关键字,参数类型写在变量名后面: 1func add(a int, b int) int { 2 return a + b 3} 4 5// 参数类型相同可以合并 6func add(a, b int) int { 7 return a + b 8} 这是 Go 的特色,跟 C/Java 反着来。习惯就好。 多返回值:Go 的杀手锏 Go 支持函数返回多个值,这在错误处理中特别好用: 1func divide(a, b int) (int, error) { 2 if b == 0 { 3 return 0, errors.New("division by zero") 4 } 5 return a / b, nil 6} 7 8// 调用时接收两个返回值 9result, err := divide(10, 0) 10if err != nil { 11 fmt.Println("Error:", err) 12 return 13} 14fmt.Println("Result:", result) 不需要某个返回值?用下划线 _ 忽略: ...

2024-07-17 · 7 min · 1314 words · 老墨

Python教程17:函数基础

Python 教程 17:函数基础 “代码复用,从函数开始。” 函数是编程中最重要的概念之一。如果说变量是存储数据的容器,那函数就是执行任务的工具。掌握函数,你的代码将更加模块化、可维护、可复用。 1. 什么是函数 函数是一段可重复使用的代码块,用于完成特定任务。 1# 定义函数 2def greet(): 3 print("你好,世界!") 4 5# 调用函数 6greet() # 输出:你好,世界! 7greet() # 可以多次调用 为什么需要函数: 代码复用:写一次,用多次 模块化:把复杂问题分解 可维护:修改一处,处处生效 可读性:函数名即文档 2. 函数的定义 1def 函数名(参数列表): 2 """文档字符串""" 3 函数体 4 return 返回值 关键字: def:定义函数 函数名:遵循变量命名规则 参数列表:可选 return:返回值,可选 1# 最简单的函数 2def hello(): 3 print("Hello") 4 5# 带参数的函数 6def greet(name): 7 print(f"你好,{name}!") 8 9# 带返回值的函数 10def add(a, b): 11 return a + b 12 13# 完整的函数 14def calculate_area(radius): 15 """ 16 计算圆的面积 17 18 Args: 19 radius: 圆的半径 20 21 Returns: 22 圆的面积 23 """ 24 pi = 3.14159 25 return pi * radius ** 2 3. 函数的参数 位置参数 按顺序传递: ...

2024-07-05 · 3 min · 563 words · 老墨