- Hands-On Full Stack Development with Go
- Mina Andrawos
- 329字
- 2021-07-02 12:33:30
Variables and data types
A variable is another basic building block of the Go language. In Go, to declare a variable, you can simply use the var keyword. Here is what this looks like:
var s string
Obviously, string is the data type. Let's say we would like to declare more than one variable of type string on the same statement. Here is what this would look like:
var s1,s2,s3 string
To initialize a variable with an initial value, Go offers a number of options. One option is to initialize the variable while also specifying the variable type. Here is what this looks like:
var s1,s2,s3 string = "first-string", "second-string", "third-string"
Another option is to initialize the variables without specifying the data type. Here is what this would look like:
var s1,s2,s3 = "first-string", "second-string", "third-string"
We can then mix data types with the following syntax:
var s,i,f = "mystring",12,14.53
A popular way to declare and initialize multiple variables at once is as follows:
var (
s = "mystring"
i = 12
f = 14.53
)
If you are declaring and initializing your variable inside a function, you don't need to even use the var keyword. Instead, you can use :=. This is called type inference, since you infer the variable type from the provided value. Here is how we would declare and initialize the s, i, and f variables with type inference:
s := "mystring"
i := 12
f:=14.53
The var keyword, however, gives you more control since it allows you to explicitly specify the data type you would like to use for your variable.
Now, let's discuss data types. Go has a standard set of data types that are very similar to data types you'd find in any other statically typed programming language. Here is a summary of Go's standard data types:

Variables that are declared without an explicit initial values get assigned what is known as zero values. Here is a table for zero values:

- Oracle WebLogic Server 12c:First Look
- 自己動手寫搜索引擎
- Moodle Administration Essentials
- 趣學Python算法100例
- 零基礎學MQL:基于EA的自動化交易編程
- Amazon S3 Cookbook
- Mastering Python Networking
- Jupyter數據科學實戰
- 微信小程序項目開發實戰
- Java網絡編程核心技術詳解(視頻微課版)
- C++20高級編程
- Mastering Akka
- Mastering Concurrency Programming with Java 9(Second Edition)
- Android應用開發實戰(第2版)
- Hands-On Dependency Injection in Go