(这里是从基础开始学习golang的一些课程笔记,有错误欢迎指正!)
tips: go 中所有声明 不调用就会报错,这里和C的规则不同
源码储存:所有的程序都在src文件夹中,每一个程序又是一个单独的文件夹
file->new-> 文件:Directory / 文件: go file(IDE:goland)
一,命令执行的方式:
(1)Terminal 命令执行框
先用dir和cd找出执行命令的位置,再调用run
dir:文件的当前位置
cd:切换目录
go run test.go: 命令执行
(2)Run 命令执行框:
在文件中右键ctrl+shift+F10直接编译
二,快捷方式IDE快捷键
Ctrl+/ 单行注释
Ctrl+shift+/ 多行注释
Ctrl+D 复制光标所在行,并换行
Ctrl+X 删除光标所在行
三,程序编译基础
(1)文件开头:
package main
func main() {
fmt.Println("")
}
(2)变量声明:
var +变量名 +数据类型 或
var +变量名=赋值(自动动态分配空间)
变量名+:=赋值
//多重赋值
//一行赋值多个变量
`var a1, a2, a3 = "tong", 100, true`
关于匿名变量: `var _, a2, a3 = "tong", 100, true`
匿名掉的是不会接收到的值,不会储存在变量中,只是占位的作用
(3)语句分隔符
go语言支持两种分隔符:换行符和分号
(4)基本数据类型:
查找数据类型:
`func main() {
var arr="快乐学习go语言!"
fmt.Println(arr,reflect.TypeOf(arr))
}`
1.整形和浮点型:int8,int16,int32,int64,float32,float64
2.字符串:""
3.布尔类型: true false
func main() {
fmt.Println(2 < 1) //第一种方式
var b bool
b = 2 > 1
fmt.Println(b) //第二种方式
c := 3 == 2
fmt.Println(c) //第三种方式
}
四,字符串的索引切片操作
(1)索引 字符串[索引]
字符串的存储是以ASCII码进行储存的,所以索引时要进行类型转换 fmt.Println(string(s[4])) //转换类型
(2)切片 连续的取出字符串[开始索引:结束索引]
特点:左闭右开,顾头不顾尾 例:
s = "welcome to learn golang"
fmt.Println(s[0:6])
结果:welcom
缺省索引:
fmt.Println(s[0:]) //左边缺省,默认取到最后一个值
fmt.Println(s[:7])//右边缺省,默认从索引0取
(3)转义符 \
功能1:赋予某些符号以特殊功能 \n
功能2:取消某些符号的特殊功能 想打印\的话要写成\ 例:
fmt.Println("i am your\"souffle\"girl!")
(4)反引号 多行打印
可以换行的赋值
var s1 = `1.添加学生
2.查看学生
3.删除学生
4.更新学生`
(5)字符串的内置方法
1.字符串的纯大小写转换(strings.ToUpper;strings.ToLower)
var upperName=strings.ToUpper(name)
var lowerName=strings.ToLower(name)
2.字符串子串判断
var flag = strings.Contains(name, s)//任意位置
var flag=strings.HasPredix(name,s)//判断是否开头的连续子串
var flag=strings.HasSuffix(name,s)//判断是否结尾的连续子串
4.去除输入前后端的空格函数
strings.Trim(username," ")
5.字符串分割函数和拼接函数
1.分割函数(返回一个数组)
var arr = strings.Split(cities, " ") //分割后放在数组里
2.拼接函数(返回一个字符串)
var cityNewstr = strings.Join(arr, ";")
3.查询字符串位置(返回值为int,若找到该子串,返回首下标,否则返回-1)
var i = strings.Index(newName, "girl")
fmt.Println(i)
五,类型转换
1.整型的转换
var a int8
a = 100
fmt.Println(a, reflect.TypeOf(a))
b := int64(a)
fmt.Println(b, reflect.TypeOf(b))
2.数字转换成字符串(返回一个字符串)
var age = 22
var arr = strconv.Itoa(age)
fmt.Println(arr, reflect.TypeOf(arr))
3.将数字字符串转成整型(返回两个值,若转换成功,则赋值第一个数字;若转换失败,则赋值给第二个error并报错)
- int
var money = "100"
moneyNum, err := strconv.Atoi(money)
- float
var f = "3.1415"
f2, _ := strconv.ParseFloat(f, 64)
六,运算符
+:科学运算,字符串的拼接
fmt.Println("love" + "you")