以下笔记摘录自『 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 到底在分享什麽?
开发和部署安全服务和应用程序需要与许多内部和外部系统整合,例如:身份验证和云端储存。 许多软件开发都...
职场好同学 CH CH 是之前一起准备升学的同学,但比我早好几年进入职场,本身也是 UX/UI 设...
9.2 找出分离点对 (Separating Pair) 如果一个点的子集合移除以後,会让图 G 变...
Hello, 各位 iT邦帮忙 的粉丝们大家好~~~ 本篇是 Re: 从零开始用 Xamarin 技...
啊..败给旅游燃烧殆尽症候群了,昨天晚上不小心睡着,忘记设闹钟,再醒来就已经过12点了QwQ ...