[Day 7] -『 GO语言学习笔记』- 指标函式设计 & 常数(constants)

以下笔记摘录自『 The Go Workshop 』。

采用指标的函式设计

如果变数是指标,或者传递给函式的是指标变数,那麽在函式中对该参数的值做任何变动,会连带影响到函式外部原始变数的值。

For example,

package main

import "fmt"

func add5Value(count int) {
	count += 5
	fmt.Println("add5Value     :", count)
}

func add5Point(count *int) {
	*count += 5
	fmt.Println("add5Point     :", *count)
}

func main() {
	var count int
	add5Value(count)
	fmt.Println("add5Value post:", count)
	add5Point(&count)
	fmt.Println("add5Point post:", count)
}

输出结果为:

add5Value     : 5
add5Value post: 0
add5Point     : 5
add5Point post: 5

以值传递变数时,在函式内对变数做的变动只在函式内有效,不会影响传递给函式的原始变数,然而若是以指标形式传入函式,就会改变原始变数!

常数

常数宣告跟var很类似,但改用const。宣告常数时,初始值是『必要的』,型别可有可无,不指定型别,Go语言会自行推断。也可以像var一样,用一个const同时宣告多个常数。

const <常数> <型别> = <值>

const (
    <常数 1> <型别 1> = <值 1>
    <常数 2> <型别 2> = <值 2>
    ...
    <常数 N> <型别 N> = <值 N>

<<:  【DAY 7】看起来亲民却又感觉很遥远的SharePoint 到底在分享什麽?

>>:  进实验室啦!

安全密码储存开发方法

开发和部署安全服务和应用程序需要与许多内部和外部系统整合,例如:身份验证和云端储存。 许多软件开发都...

1.4 Design System - 做的优先顺序、注意事项

职场好同学 CH CH 是之前一起准备升学的同学,但比我早好几年进入职场,本身也是 UX/UI 设...

图的连通 (5)

9.2 找出分离点对 (Separating Pair) 如果一个点的子集合移除以後,会让图 G 变...

EP 19: Custom App Icon for Android and iOS

Hello, 各位 iT邦帮忙 的粉丝们大家好~~~ 本篇是 Re: 从零开始用 Xamarin 技...

Day 28. 解掉bug了

啊..败给旅游燃烧殆尽症候群了,昨天晚上不小心睡着,忘记设闹钟,再醒来就已经过12点了QwQ    ...