网站首页 > 教程分享 正文
## 1 变量定义以及声明
- 理解变量定义
- 掌握变量声明
package main
import "fmt"
func main() {
var i int = 1
var j = 2
var (
k = 3
l = 4
)
z := 5
fmt.Println(i, j, k, l, z)
}
- 以上代码是变量声明常见的几种方式,分为单变量和多变量声明,其中变量声明的格式为var 变量名 数据类型(可选,不写会默认去推导),:=是变量声明中一种简短声明,非常适合用于初始化变量。
- 变量是可变的数据类型,表示在程序运行过程中可能修改一次或多次的
## 2 指针
- 要了解变量存储原理,不乏要理解指针,指针简单来说就是变量存储的位置,也就是常说的内存地址或内存空间,指针是指向这个变量在内存中的具体位置。
## 3 常量定义以及常量声明和常量生成器
- 常量,顾名思义是固定不变的量,也就是指在编译前就已经固定好的值,防止程序在运行的时候被篡改。
const a int = 1
fmt.Println(a)
- 常量是需要使用const关键字去声明的
- 常量生成器
const (
b int = iota + 1
c
d
)
fmt.Println(b, c, d)
- 常量生成器能够帮助我们快速生成有相似规则的常量。
## 4 数据类型简介以及基本数据类型的分类
- 人有年龄,性别等信息,其中年龄是数字,性别是字符串,数据类型其实就是把这些不同类型的信息进行了分类,这就是数据类型的作用。
- 基本数据类型分类分为有符号整数型(int int8 int16 int32 int64),无符号整数型(uint uint8 uint16 uint32 uint64),浮点型(float32 float64),字符串型(string),布尔型(true, false),零值,其中有符号整数型就是跟数学中一样,有正数,负数和0,无符号整数型就是只有零和正数,浮点型其实就是生活中的小数,字符串可以用来描述地址,姓名这些信息等,布尔型只有true和false,一般用来进行逻辑判断,零值则是如果在初始化的时候没有指定一个值,那么就会自动默认为该数据类型对应的零值,例如整数型的零值为0,字符串的零值为空字符串,布尔型的零值为false等。
- 注意: 整型里面还有个byte类型,但是这个byte类型其实就跟unit8类似
## 5 基本数据类型的相互转换以及定义
- 为什么要进行数据类型的相互转换
- 整型和浮点型的相互转换
- 字符串和整型的相互转换
- 字符串和浮点型的相互转换
- 因为GO语言是强类型的语言,不同的数据类型是不能进行相互计算的,必须要进行类型转换才可以进行相互计算和使用。
package main
import (
"fmt",
"strconv"
)
func main(){
var i int = 1
var o float64 = 2
fmt.Printf("i的数据类型为: %T\n", i)
fmt.Printf("o的数据类型为: %T\n", o)
var a = float64(i)
var b = int(o)
fmt.Printf("更改后i的数据类型为: %T\n", a)
fmt.Printf("更改后o的数据类型为: %T\n", b)
}
- 以上代码就是整型和浮点型的相互转换,可以使用关键字float64和int去进行转换。
package main
import (
"fmt",
"strconv"
)
func main(){
var n string = "123"
fmt.Printf("字符串的数据类型为: %T\n", n)
m, err := strconv.Atoi(n)
fmt.Printf("字符串转换后的数据类型为: %T\n", m)
fmt.Println("提示信息为: ", err)
l := strconv.Itoa(m)
fmt.Printf("整型转换为字符串: %T\n", l)
}
- 以上代码就是字符串和整型的相互转换,可以使用strconv中的Atoi和Itoa进行相互转换,其中Atoi中的err为提示信息,如果为nli则表示转换成功,否则转换失败。
package main
import (
"fmt"
"strconv"
)
func main(){
var g string = "3"
floatvar, err := strconv.ParseFloat(g, 64)
fmt.Printf("转换后的数据类型为: %T\n", floatvar)
fmt.Println("提示信息为: ", err)
str := strconv.FormatFloat(floatvar, "f", 1, 64)
fmt.Println(str)
}
- 以上代码就是字符串和浮点型的相互转换,可以使用strconv中的ParseFloat和FormatFloat进行相互转换,其中ParseFloat中的err同样也是提示信息,为nli为成功,否则失败,还有FormatFloat中的"f"表示不使用指数的形式,1代表保留几位小数,64代表float64。
## 6 strings包常用方法(官方文档:https://www.apiref.com/go-zh/strings.htm)
package main
import (
"fmt"
"strings"
)
func main() {
// 判断开头
var a string = "huaweih"
fmt.Println(strings.HasPrefix(a, "hua"))
// 判断结尾
fmt.Println(strings.HasSuffix(a, "wei"))
// 分割字符串
fmt.Println(strings.Split(a, "w"))
// 返回子串索引
fmt.Println(strings.Index(a, "h"))
// 最后一个匹配索引
fmt.Println(strings.LastIndex(a, "h"))
// 字符串连接
slice := []string{"aab", "aba", "baa"}
str := strings.Join(slice, ",")
fmt.Println(str)
// 转换为大写
fmt.Println(strings.ToUpper(a))
// 转换为小写
fmt.Println(strings.ToLower(a))
// 字符串的包含关系
fmt.Println(strings.Contains(a, "w"))
// 字符串替换
fmt.Println(strings.Replace(a, "w", "e", 1))
}
## 7 运算符
- 算术运算符(+ - * / % ++ --)
- 加减乘除跟数学一样,%为取余,++为自增1,--为自减1
- 关系运算符(== != > < >= <=)
- 等于 不等于 大于 小于 大于等于 小于等于 跟数学中也一样
- 逻辑运算符(&& || !)
- &&是逻辑与,如果两边都为true,那么为true,否则为false
- ||是逻辑或,如果两边有一个为true,那么为true,否则为false
- !是逻辑非,如果条件为true,那么逻辑非则为false
- 位运算符(暂时用不到)
- 赋值运算符(= += -= *= /= %=)
- = 给变量赋值
- += 相加后再赋值
- -= 相减后再赋值
- *= 相乘后再赋值
- /= 相除后再赋值
- %= 取余后再赋值
- 注意: 赋值运算符还有一些结合位运算符的运算符,例如<<= >>=,这些暂时用不到,所以没去深挖。
- 其他运算符(& *)
- & 返回变量内存地址 &a 将给出变量内存地址
- * 指针变量 *a 是一个指针变量
猜你喜欢
- 2024-10-22 零基础|西门子博途TIA软件入门指南-变量
- 2024-10-22 Python | 变量如何定义,数据类型介绍
- 2024-10-22 你知道Python的变量类型有多少中吗? #Python变量类型
- 2024-10-22 Furein平台-智能合约根底言语(五)——变量类型
- 2024-10-22 数据的基本类型和变量(基本类型)(基本数据类型举例)
- 2024-10-22 Python(第三课 1 - 2)变量类型和数据类型
- 2024-10-22 JAVA变量类型(java变量类型检测)
- 2024-10-22 Python常用变量类型的知识汇总(python常见的变量)
- 2024-10-22 分类变量(类别变量Categorical Variables)
- 2024-10-22 5分钟搞定数据类型和变量的关系(变量与数据类型之间的关系)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- css导航条 (66)
- sqlinsert (63)
- js提交表单 (60)
- param (62)
- parentelement (65)
- jquery分享 (62)
- check约束 (64)
- curl_init (68)
- sql if语句 (69)
- import (66)
- chmod文件夹 (71)
- clearinterval (71)
- pythonrange (62)
- 数组长度 (61)
- javafx (59)
- 全局消息钩子 (64)
- sort排序 (62)
- jdbc (69)
- php网页源码 (59)
- assert h (69)
- httpclientjar (60)
- postgresql conf (59)
- winform开发 (59)
- mysql数字类型 (71)
- drawimage (61)
本文暂时没有评论,来添加一个吧(●'◡'●)