数据类型
概述
Go+和其他的编程语言有多种值类型,包括字符串、整数、浮点数、布尔值等。初学者可能不理解为什么会有那么多种值类型,想想生活中装不一样的东西会用不一样的罐子,和这个例子基本上差不多。
这里有几个基本的例子。字符串,可以与 +
一起添加,用+
链接起来的两个字符串是原样输出的,不会去进行任何的加减乘除的数字运算,当我们需要原样输出的时候可以去选择使用+
号进行链接。
println "Go"+"Plus"
println "1+1 ="
我们还可以进行带着布尔值的运行。这种布尔值的运算规则:
- 或运算(||)
- 如果两边都为true,则结果为true。
- 如果两边结果为false,则结果为false。
- 只要有一边为true,则结果都为true。
- 与运算(&&)
- 如果两边为true,则结果为true。
- 如果两边结果为false,则结果为false。
- 只要一边结果为false,则结果都为false。
- 取反运算(!)
- 如果原来的结果为true,取反为false。
- 如果原来的结果为false,取反为true。
println true && false
println true || false
println !true
练习
我们写一个小案例来巩固一下变量的知识。使用字符串拼接的方式写HelloWorld。
package main
println("Hello " + "World")
字面量
概述
字面量简单来说就是一种标记法,他有三种类型:
- 用于表示基础数据类型值的各种字面量。
- 用户自定义各种复合数据类型的类型字面量,可以自定义属性,和Java的对象有着异曲同工之妙。
- 用于表示复合数据类型的值的复合字面量。
基本字面量
所见即所得,基本的字面量按照数据类型划分可以划分为五种:
- 整型字面量
- 浮点型字面量
- 复数类型字面量
- 字符型字面量
- 字符串字面量
自定义字面量
type Person struct {
name string
age int
phone string
}
复合字面量
用于表示复合数据类型的值的复合字面量,更确切地讲,它会被用来构造类型 Struct(结构体)、Array(数组)、Slice(切片)和Map(字典)的值。
Person(name: "zs", age: 18, phone: "123456"}