JavaScriptGolang
基本类型
类型 | 长度 | 说明 |
---|---|---|
bool | 1 | 对应JavaScript的Boolean |
string | 对应JavaScript的String | |
(u)int | 4/8 | 32或64位 |
(u)int8 | 1 | -128 ~ 127, 0 ~ 255 |
(u)int16 | 2 | -32768 ~ 32767, 0 ~ 65535 |
(u)int32 | 4 | -2147483648 ~ 2147483647, 0 ~ 4294967295 |
(u)int64 | 8 | -9223372036854775808 ~ 9223372036854775807, 0 ~ 18446744073709551615 |
uintptr | 4/8 | 存储指针的uint32或uint64整数 |
byte | 1 | uint8的别名 |
rune | 4 | int32的别名, Unicode码点 |
float32 | 4 | 符合IEEE-754标准的32位浮点数 |
float64 | 8 | 符合IEEE-754标准的64位浮点数 |
complex64 | 8 | 具有float32实部和虚部的所有复数的集合 |
complex128 | 16 | 具有float64实部和虚部的所有复数的集合 |
数组
JavaScript
let a = [1, 2, 3]
Golang
var a = [3]int{1, 2, 3}
Golang
var a = [...]int{1, 2, 3}
切片
GolangJavaScriptJavaScriptGolang
数组是值类型,切片是在数组上面的一个‘View’,它指向一个数组的一段连续的内存。
初始化一个切片也很简单,直接去掉数组长度的声明就是切片
var a = []int{1, 2, 3}
make
var a = make([]int, 3)
var b = make([]int, 3, 6)
初始化一个长度为3的切片a;初始化一个长度为3,数组的容量为6的b。
Golang
len()cap()
JavaScriptArray.prototype.length
append()
JavaScriptpush()
[low:high]
JavaScriptArray.prototype.slice()
Map
JavaScriptMap
初始化Map需要声明类型
var a = map[string]string
var b = map[string]string {
"foo": "Hello",
"bar": "World"
}
make
var a = make(map[string]string)
delete()key
结构体
JavaScriptObject
type Person struct {
name string
age int
}
var a = Person{name: "allen", age: 30}
var b = Person{"allen", 30}
var c = new(Person)
c.name = "allen"
c.age = 30
new()Golang
欢迎关注我的公众号“野生程序员的修炼”,原创技术文章第一时间推送。