-
项目运行,要在Project下,调用不同包下的函数时,在main函数中调用,goland会自动导包,相同文件夹下的函数具有相同的包
-
新建go文件时,使用File->New->Project->Go Moudles,若使用File->New->Project->Go 则需要在Termial输入go mod init 生成go.mod
-
strings.replace(s,old,new string,n int)string
-
n < 0 ,用 new 替换所有匹配上的 old;n=-1
-
不替换任何匹配的 old;n=0
-
用 new 替换第一个匹配的 old;n=1:
-
用 new 替换前 2个匹配的 old(实际多于 2 个);n=2
-
用 new 替换前 7 个匹配上的 old(实际没那么多);n=7:
4.:=赋值操作符
intVal := 1 // 此时不会产生编译错误,因为有声明新的变量,因为 := 是一个声明语句
intVal := 1 相等于:
var intVal int
intVal =1
5.printf用法
%d整数
%v 以默认的方式打印
%q打印双引号
https://studygolang.com/articles/11119
6.
7.
8.那就是使用:=后循环体内的变量和循环体外的变量并不是同一个, 也就是作用域确实不同, 所以最后得到的结果也是不同的.
package main
import "fmt"
func main(){
var a int = 0
fmt.Println("for start")
for a:=0; a < 10; a++ {
fmt.Println(a)
}
fmt.Println("for end")
fmt.Println(a)
}
输出:
for start
0
1
2
3
4
5
6
7
8
9
for end
0
第二种:
package main
import "fmt"
func main(){
var a int = 0
fmt.Println("for start")
for a = 0; a < 10; a++ {
fmt.Println(a)
}
fmt.Println("for end")
fmt.Println(a)
}
输出:
for start
0
1
2
3
4
5
6
7
8
9
for end
10