变量
package main
//非注释的第一行声明包,每个GO应用程序都有一个main包
import "fmt"
//导入包
var n int
//可以声明变量,不能赋值,后面必须用到。
//匿名变量:匿名变量不占用命名空间,如果想要忽略某个变量可以使用匿名变量。匿名变量用一个下划线表示,如
func act()(int,string) {
return 66,"GO"
}
func main() {//大括号必须跟在后面,,不能换行
//func 定义一个函数
//main 函数开始执行
/*
多行注释
*/
//语言变量声明格式: var 变量名 变量类型
//var name string
//var age int
//var isOk bool
//fmt.Print(name,age,isOk)//必须使用,不然报错
//批量声明
var(
a string
b int
c bool
)
fmt.Printf(a,b,c)
//声明变量同时制定初始值: var 变量名 变量类型 = 所赋值
//类型推导:可以省略变量类型。由编译器根据变量的初始值推断。
//var v = "hello"
//var n = "word"
//fmt.Println(v+" "+n)
//短变量声明,只能用在函数中
//m:=10
//fmt.Println(m)
//下划线表示某个数值收到了但是不需要
//x,_:=act()
//_,y:=act()
//fmt.Println("x=",x)
//fmt.Println("y=",y)
//常量
// fmt.Print(a,b,c,d,f,g,h,j,k,l)
}
常量
//const pi = 3.1415
//const e = 2.7
//const (
// a = 10
// b = 9
// c
// d
// //c、d默认等于b
//)
//
//const (
// f = iota//0
// g = iota//1
// h = iota//2
// _ //3
// j = iota//4
// k = 100
// l = iota//6
//)
//GO会自动格式化代码,对缩进、空格没有要求
//变量命名推荐使用驼峰
常量
package main
常量
//const pi = 3.1415
//const e = 2.7
//const (
// a = 10
// b = 9
// c
// d
// //c、d默认等于b
//)
//
//const (
// f = iota//0
// g = iota//1
// h = iota//2
// _ //3
// j = iota//4
// k = 100
// l = iota//6
//)
func main() {
//fmt.Print(a,b,c,d)
}
字符串
package main
import (
"fmt"
"strings"
)
func main() {
s1 := "hellow"
fmt.Println(len(s1))
s2 := "我的GO"
fmt.Println(len(s2))
//拼接字符串
fmt.Println(s1 + s2)
s3 := fmt.Sprintf("%s - %s", s1,s2)
fmt.Println(s3)
//字符串的分割
s4 := "how do you do ?"
fmt.Println(strings.Split(s4, " "))
fmt.Printf("%T\n", strings.Split(s4," "))
//判断是否包含
fmt.Println(strings.Contains(s4,"you"))
//判断前缀
fmt.Println(strings.HasPrefix(s4,"how"))
//判断后缀
fmt.Println(strings.HasSuffix(s4, "me"))
//判断字串的位置
fmt.Println(strings.Index(s4, "do"))
//最后子串出现的位置
fmt.Println(strings.LastIndex(s4, "do"))
//join
s5 := []string{"how","do","you","do","?"}
fmt.Println(s5)
fmt.Println(strings.Join(s5, "+"))
//字符
//byte uint8的别名
// rune int32的别名
var c1 byte = 'c'
var c2 rune = 'c'
fmt.Println(c1,c2)
fmt.Printf("c1:%T c2:%T\n",c1,c2)
s := "hello我的GO"
for i := 0;i<len(s);i++{
fmt.Printf("%c\n",s[i])
}
fmt.Println()
for _, r := range s{
fmt.Printf("%c\n",r)
}
}