package main //入口包名import("fmt")funcmain(){
fmt.Print("htllo,woeld")}
变量
package main //入口包名import"fmt"funcmain(){var a int=10;var b="string"// var name typename(可省略)var c float64// 变量声明但不定义
c=3.6;
f:="3434"// 自动转换类型
g:=float64(36.2);// 显式定义类型
fmt.Println(g)
fmt.Println(a,b,c,f)// 换行输出}
if else
package main
import"fmt"funcmain(){
n :=9if n >10{
fmt.Print("n>10")}elseif n>8{
fmt.Print("测试")}else{
fmt.Println("n<10")}}
for
package main
import"fmt"funcmain(){for i:=0;i<10;i++{
fmt.Println(i)}}
switc
package main
import("fmt""time")funcmain(){
a:="string1"switch a {case"string":
fmt.Print("string")case"e":
fmt.Println("e")default:
fmt.Println("默认输出")}// switch后没有值
now := time.Now()switch{case now.Hour()>10:
fmt.Print("大于十点")default:
fmt.Println("小于十点")}}
数组
package main
import"fmt"funcmain(){var a[10]int;
a[1]=0;var b=[]int{1,2,3,4,5};
fmt.Print(b)}
切片
package main
import"fmt"funcmain(){var s=make([]int,5);for i:=0;i<5;i++{
s[i]=i;}
fmt.Print(s)// 进行扩充操作
s=append(s,5)
s =append(s,10)
fmt.Println(s)
fmt.Println(s[2:5])
fmt.Println(s[:5])}
map
package main
import"fmt"funcmain(){// 创建一个mapvar m=make(map[string]int)
m["lmx"]=1;
m["zhangsan"]=2;
r,ok:=m["wanwu"]//r是值,ok代表该键是否存在
fmt.Println(m,r,ok)}
range 函数
package main
import"fmt"funcmain(){// 创建一个数组var a =[]int{1,2,5,6}// 创建var b =map[string]int{"one":1,"tow":2}
a =append(a,10)// 使用range函数遍历数组,i,元素下标,k元素的值for i, k :=range a {
fmt.Println(i, k)}// 使用range函数遍历map,k键,v元素的值for k, v :=range b {
fmt.Println(k, v)}
fmt.Println(a)}
package main
import"fmt"funcaddmy(a *int){*a++;}funcmain(){var s =10;addmy(&s)
fmt.Println(s)}
结构体
package main
import"fmt"type user struct{
name string
password string}funcmain(){//
s:=user{"lmx","343434"}
t:=user{password:"3434"};
fmt.Println(s)
fmt.Println(t)}
结构体方法
package main
import"fmt"type user struct{
name string
password string}// 结构体函数func(u user)checkPassword()bool{if u.password =="1212"{returntrue}else{returnfalse}}// 如果想要修改某一元素的值,需要使用指针func(u *user)setpassword(password string){
u.password=password
}funcmain(){//
s := user{"lmx","343434"}//t := user{password: "3434"}
fmt.Println(s)//fmt.Println(t)
fmt.Println(s.checkPassword())
s.setpassword("2323")
fmt.Println(s)}
异常处理
package main
import("errors""fmt")funcadderror(a,b int)(sum int,err error){if a < b {return a+b,nil}else{return0, errors.New("a必须小于b")}}funcmain(){
i,err :=adderror(56,3)if err!=nil{
fmt.Println(err)return}
fmt.Println(i)}
字符串方法
格式化方法
json
package main
import("encoding/json""fmt")// 定义一个用户对象// 对于待转换成json格式的结构体对象,变量必须大写,否则无法转化成功type user struct{
Age int`json:"age"`// 将某个属性转成json后变为小写
Address string
Foods []string}funcmain(){
u:=user{15,"山西大学",[]string{"苹果","烟"}}
marshal, err := json.Marshal(u)
fmt.Println(marshal)// 字节数组if err!=nil{panic(err)}
fmt.Println(string(marshal))}