2.go语言入门----变量类型、声明变量、数组、切片
2021-03-01 16:28
标签:不显示 总结 拓展 aaa 变量类型 apple 推导 添加 main 介绍几种基本的变量类型:字符串、int、float、bool 可以使用反引号来定义多行字符串 go是一门强类型的语言,但是定义变量的时候却可以省略变量类型,由go自己推导出来 定义变量的几种方式 var var 在go语言中,通常是使用var关键字来定义全局变量,使用":="来定义局部变量 数组是一种数据类型的固定长度序列 切片类似于数组,但其长度可变 长度 len() 使用len(切片名) 来得到切片长度 append()和copy() append(numbers, 1) // 将1添加到numbers的末尾 copy(numbers1, numbers2) //将numbers2复制到numbers1 2.go语言入门----变量类型、声明变量、数组、切片 标签:不显示 总结 拓展 aaa 变量类型 apple 推导 添加 main 原文地址:https://www.cnblogs.com/panbaishou/p/14435552.html基本变量类型
package main
import (
"fmt"
)
// 列举几种非常基本的数据类型
func main() {
fmt.Println("go" + "lang") // 允许使用“+”来连接字符串
fmt.Println("1+1=", 1+1)
fmt.Println("7.0/3.0=", 7.0/3.0)
fmt.Println(true && false) // 需要注意的是,go中不允许将整形强制转换成布尔型
fmt.Println(true || false)
fmt.Println(!true)
}
字符串
var (
str string = `aaa
aaa
aaa
aaa
aaa `
)
stdOut:
aaa
aaa
aaa
aaa
aaa
定义变量
package main
import "fmt"
func main() {
var a = "initial" // 使用关键字var来定义变量,可以不显示指定变量类型,go会自动判断
fmt.Println(a)
var b, c int = 1, 2 // 指定变量类型时,类型要放在变量名的后面
fmt.Println(b, c)
var d = true
fmt.Println(d)
var e int // int的默认值为0
fmt.Println(e)
f := "apple" // 可以使用“:=”来省略关键字var,这种方式一般用的比较多,这里也不用显示的指定变量类型
fmt.Println(f)
}
要点总结
数组
package main
import "fmt"
func main() {
var a [5]int // 这里初始化了一个变量,发现默认值是数组中变量类型的默认值
fmt.Println("emp:", a)
a[4] = 100 // 可以通过索引对数组中的指定元素赋值
fmt.Println("set:", a)
fmt.Println("get:", a[4])
fmt.Println("len:", len(a))
b := [5]int{1, 2, 3, 4, 5} // 初始化数组的同时赋值
fmt.Println("dcl:", b)
var twoD [2][3]int // 定义多维数组
for i := 0; i
要点总结
切片
package main
import "fmt"
func main() {
s := make([]string, 3) // 定义了一个长度为3的切片
fmt.Println("emp:", s) // 这里打印一下发现其中的值为空的,如果是数组的话会是3个0
s[0] = "a"
s[1] = "b"
s[2] = "c"
fmt.Println("set:", s)
fmt.Println("get:", s[2])
fmt.Println("len:", len(s)) // 使用起来也和数组一样,可以通过索引使用
s = append(s, "d") // 通过append函数来拓展切片,但要注意这里需要重新赋值,否则原来的是不会变得
s = append(s, "e", "f") // 可以一次拓展多个值
fmt.Println("apd:", s)
c := make([]string, len(s))
copy(c, s) // 使用copy可以复制切片
fmt.Println("cpy:", c)
l := s[2:5] // 类似python,通过 “:” 来限制索引
fmt.Println("sl1:", l)
l = s[:5]
fmt.Println("sl2:", l)
l = s[2:]
fmt.Println("sl3:", l)
t := []string{"g", "h", "i"} // 定义的同时初始化
fmt.Println("dcl:", t)
twoD := make([][]int, 3) // 二维切片
for i := 0; i
常用方法