go语言基础语法学习 基本数据类型 变量定义声明 运算符 条件控制语句 方法函数...
当然可以,通过对比 Go 和 JavaScript 的数据类型,我们可以更好地理解它们的差异和各自的使用场景。以下是 Go 和 JavaScript 数据类型的对比,以及每种类型的使用场景。
func main(){
var i int
fmt.Println("i=",i)
}
类型推导
) var num = 10.01
fmt.Println("num=",num)
var
)(简洁写法
) name := "张三"
n1,n2,n3 := 100, 200, 300
var(
n1 = 100
n2 = 200
n3 = 300
)
注意事项
var i int = 10 i = 30 i = 50 i = 1.2 ❌ : 不能改变数据类型
int : 0
, string: ""
float:0
Go 数据类型 | JavaScript 数据类型 | 描述与使用场景 |
---|---|---|
bool | Boolean | 用于逻辑判断,例如条件语句和循环。 Go: var a bool = true JS: var a = true |
int, int8, int16, int32, int64 | Number | 整数,用于计数和索引。 Go: var a int = 100 JS: var a = 100 |
uint, uint8 (byte), uint16, uint32, uint64, uintptr | Number | 无符号整数,通常用于需要非负数的情况,如位运算和索引。 Go: var a uint = 100 JS: var a = 100 |
float32, float64 | Number | 浮点数,用于表示小数或需要高精度的计算。 Go: var a float32 = 3.14 JS: var a = 3.14 |
string | String | 字符串,用于文本数据。 Go: var a string = "hello" JS: var a = "hello" |
- | Symbol | JavaScript 的独特类型,用于创建独一无二的标识符,通常用于对象属性。 JS: var sym = Symbol("id") |
- | undefined | 表示变量未初始化。 JS: var a; console.log(a); // undefined |
- | null | 表示空值。 JS: var a = null |
complex64, complex128 | - | 复数,包含实部和虚部,通常用于高级数学计算。 Go: var a complex64 = 1 + 2i |
Go 数据类型 | JavaScript 数据类型 | 描述与使用场景 |
---|---|---|
array | Array | 有固定长度的同类型元素集合,用于存储多个相同类型的值。 Go: var arr [5]int = [5]int{1, 2, 3, 4, 5} JS: var arr = [1, 2, 3, 4, 5] |
slice | Array | 动态长度的数组,用于需要频繁修改大小的集合。 Go: var s []int = []int{1, 2, 3} JS: var s = [1, 2, 3] |
map | Object | 键值对集合,用于快速查找和存储数据。 Go: var m map[string]int = map[string]int{"one": 1, "two": 2} JS: var m = {"one": 1, "two": 2} |
struct | Object | 自定义类型,包含不同类型的字段,用于描述复杂数据结构。 Go: type Person struct { Name string; Age int } JS: var person = { name: "Alice", age: 30 } |
interface | - | 定义一组方法的集合,具体实现由其他类型提供,用于实现多态。 Go: type Speaker interface { Speak() string } |
chan | - | 用于 goroutine 之间的通信和同步。 Go: var ch chan int = make(chan int) |
function | Function | 可执行代码块,用于封装和复用代码逻辑。 Go: func add(a int, b int) int { return a + b } JS: function add(a, b) { return a + b } |
if a == true { ... }
if (a === true) { ... }
Number
类型,适用于一般的计算和表示。
var name string = "Alice"
var name = "Alice"
Array
既可以表示固定长度,也可以动态调整,灵活性较高。
map
实现键值对集合,适用于快速查找和存储数据。
Map
实现键值对集合。
func add(a int, b int) int { return a + b }
function add(a, b) { return a + b }
通过对比 Go 和 JavaScript 的数据类型及其使用场景可以更好地理解它们各自的优势和适用场景
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。