以下笔记摘录自『 The Go Workshop 』。
宣告变数需满足四个条件:
var <变数名称> <变数型别> = <值>
var (
<名称 1> <型别 1> = <值 1>
<名称 2> <型别 2> = <值 2>
...
<名称 N> <型别 N> = <值 N>
)
宣告变数时,
只给型别,没有给初始值,Go语言会自动为变数赋予该型别特有的零值(Zero value)
没有给型别,只给初始值,Go语言会根据你给的初始值去推断要采用什麽型别,但有时不得不在宣告变数时,明确写出每个环节。
只有在函式内(包含main())中宣告变数,可用 := 简写。
<名称> := <值>
<变数 1>, <变数 2>, ..., <变数 N> := <值 1>, <值 2>, ..., <值 N>
虽然Go语言是静态型别的语言,需要在执行前明确变数的资料型别以及大小,但短变数宣告的存在,就是Go语言让人『感觉像』动态程序语言的主因。
Go支援UTF-8,所以可以用非拉丁字母来变数命名,但命名并非完全无限制,例如首字母必须是字元或底线 _。
<变数> = <值>
<变数 1>, <变数 2>, ..., <变数 N> = <值 1>, <值 2>, ..., <值 N>
正常情况下无法对已经宣告过的变数使用短变数再次赋值,但若短变数选告左侧有多重变数,同时有建立新变数和赋值给旧变数,则写法可以成立。
for example,
func main() {
query, limit, offset := "bat", 10, 0
query, maxLength, offset := "apple", limit, 20
fmt.Println("query, maxLength, offset: ", query, maxLength, offset)
}
会输出query, maxLength, offset: apple 10 20
<<: 30天零负担轻松学会制作APP介面及设计【DAY 10】
>>: Day7 Data types, Variables, and Operators (Ⅲ)
有时候虽然编写的语法正确,但因为使用者没有依照原先设计操作,而导致程序执行错误 例如用 int() ...
除了昨天的成立订单流程之外,还有个在处理特殊情况会用到的api, 正常情况所有的订单纪录会纪录在我们...
1.练习打字 在Typing Club练习打字 2.练习上传档案 3.下载及使用pyperclip模...
看着规格书,所需要的参数还蛮多的 今天就先用 Python 来求算 Hash ID! 依据官方的说明...
昨天我们学完了函式的基础用法以及讲解,今天要写的是进阶用法。 会这样分两天是因为我觉得有一点难,可以...