1. Mac下用VsCode配置Go语言环境
- 官网下载Go语言包 命令行中使用go version命令查看下载的go版本 使用go env查看go相关环境
- 进入VsCode下载Go拓展 新建.go文件 按推荐install相关依赖即可(使用手机热点或科学上网)
- 编辑好基础go文件 使用 go run … 运行
go run 时报错:package command-line-arguments is not a main package ?
package main
import "fmt"
func main() {
fmt.Println("hi golang")
}
2. fmt包 Print相关 注释 定义变量
注意看Print Println Printf三者区别以及变量定义方法
package main
import "fmt"
func main() {
fmt.Println("hi golang","hi dou")
fmt.Print("hi golong","hi dou")
var a = "aaa"
fmt.Printf("%v",a)
var b int
b = 1
fmt.Printf("%v",b)
c := 5
fmt.Printf("%v",c)
}
hi golang hi dou hi golonghi douaaa15%
go语言中变量声明必须使用
3. 变量常量命名规则
命名规范不赘述 注意大小写要区分开即可 定义变量基本方法看上节 以下是多变量声明 匿名变量
package main
import (
"fmt"
)
func main() {
fmt.Println("hi golang")
var(
a string
b int
)
a = "a"
b = 1
fmt.Println(a,b)
c,d := "s",1
fmt.Println(c,d)
user,_ := getUser()
fmt.Println(user)
const PI = 3.14
fmt.Println(PI)
const(
n1 = 100
n2
n3 = iota
_
n4
)
}
func getUser()(string,int){
return "zhangsan",10
}
go fmt … 格式化文档
4. 数据类型–整型
package main
import (
"fmt"
"unsafe"
)
func main() {
var num int8 = 10
fmt.Printf("%T\n",num)
fmt.Println(unsafe.Sizeof(num))
}
5. 基本数据类型–浮点型 布尔型
bool类型与0 1不能替换
package main
import (
"fmt"
"unsafe"
)
func main() {
var num int8 = 10
fmt.Printf("%T\n",num)
fmt.Println(unsafe.Sizeof(num))
var a float32 = 3.12
fmt.Printf("%v -- %f",a,a)
}
6. 基本数据类型–字符串类型
package main
import (
"fmt"
"strings"
)
func main() {
s := `hi
golang`
fmt.Println(s)
str := "dou"
fmt.Println(len(str))
str1 := "123-456-789"
slice :=strings.Split(str1,"-")
fmt.Println(slice)
str2 := strings.Join(slice,"*")
fmt.Println(str2)
}
7. 数据类型–byte rune
package main
import "fmt"
func main(){
a := 'a'
fmt.Printf("%v -- %c",a,a)
s := "你好 golang"
for _,v := range s{
fmt.Printf("%v %c\n",v,v)
}
s1 := "hi golang"
str1Arr := []byte(s1)
str1Arr[0] = 'g'
fmt.Println(string(str1Arr))
s2 := "你好 golang"
str2Arr := []rune(s2)
str2Arr[0] = '我'
fmt.Println(string(str2Arr))
}
8. 运算符以及位运算符
余数 = 被除数-(被除数/除数)?除数 自增自减运算不能作为运算符 只能作为语句单列一行 无前++ - - 其他很简单 不赘述
9. if else for
package main
import "fmt"
func main() {
for i:=1;i<=100;i++{
if i%2 ==0{
fmt.Printf("%d ",i)
}
}
fmt.Println()
for i:=1;i<=9;i++{
for j:=1;j<=i;j++{
fmt.Printf("%v*%v=%v\t",i,j,i*j)
}
fmt.Println()
}
}
10. for range switch case
var arr = []string{"a","b","c"}
for k,v := range arr{
fmt.Println(k,v)
}
var n = 2
switch n {
case 1,2,3:
fmt.Println("g")
fallthrough
case 4,5,6:
fmt.Println("m")
break
default:
fmt.Println("error")
}
11. continue break goto
continue break较简单 不赘述 break也可以配合label使用
var age = 24
if age <= 30{
fmt.Println("a")
goto label
}
fmt.Println("b")
label:
fmt.Println("c")
12. 数组
package main
import "fmt"
func main() {
var arr1 [3]int
var arr2 = [3]int{1,2,3}
arr3 := [3]string{"a","b","c"}
var arr4 = [...]int{1,2,3,4,5,6}
arr5 := [...]int{1:1,5:3}
fmt.Println(arr1,arr2,arr3,arr4,arr5)
arr6 := [...]string{"a","b","c"}
for k,v := range arr6{
fmt.Println(arr6[k],v)
}
var arr7 = [...]int{1,2,3}
arr8 := arr7
arr7[0] = 0
fmt.Println(arr7,arr8)
var arr0 = []int{1,2,3}
arr9 := arr0
arr0[0] = 0
fmt.Println(arr0,arr9)
var arrr = [3][2]int{{1,2},{3,4},{5,6}}
fmt.Println(arrr[2][1])
}
|