字符类型
func main() {
var ch byte
ch = 97
fmt.Printf("%c,%d\n", ch, ch) //字符可以用数字表示,也可以用字母表示,在ASCII表中'a'对应的是97;
ch = 'a' //%c意思是用字符打印;
fmt.Printf("%d\n", ch)
fmt.Printf("%d,%d\n", 'A', 'a') //大小写字母对应的数字不同;
fmt.Printf("%c,%c", 'a'-32, 'A'+32) //大小写之间的转换;
}
字符串
func main() {
var str1 string
str1 = "shalom"
str2 := "shalom1995"
str3 := "你好shalom!"
fmt.Println("str1 =", str1)
fmt.Println("len(str2)=", len(str2)) //内建函数len(),代表长度
fmt.Println("len(str3)=", len(str3))
fmt.Printf("str3 type is %T", str3)
}
字符串和字符的区别
func main() {
str := "shalom" //字符串都隐含了一个终止字符'\0'
ch := 'a'
fmt.Printf("%T,%T\n", str, ch)
fmt.Println(str)
fmt.Printf("str[0]=%d,str[0]=%c,str[1]=%c", str[0], str[0], str[1]) //%d是以整形打印
/*对字符串某一字母操作*/
}
自动化输出
func main() {
//%d %c %s %T %f分别是以 整型 字符 字符串 类型 浮点型 输出;
a := 10
b := 'r'
c := "shalom"
d := 3.14
fmt.Printf("%T,%T,%T,%T\n", a, b, c, d)
fmt.Printf("%d,%c,%s,%f\n", a, b, c, d)
fmt.Printf("%v,%v,%v,%v", a, b, c, d) //%v是自动推导输出类型
/*这里b被推导成int类型了*/
}
输入
func main() {
var a int
fmt.Scanf("%d", &a) //会停止,等待键盘输入,回车后继续往下执行;
fmt.Println("a=", a)
fmt.Scan(&a) //更简单的方式;
fmt.Println("a=", a)
}
自定义类型名
func main() {
type (
shalom int
test byte
)
var v1 shalom //shalom就是int的意思;
var v2 test
fmt.Printf("v1 type is %T\nv2 type is %T", v1, v2)
}
if的使用
func main() {
sb := "王思聪"
if sb == "王思聪" {
fmt.Println("王思聪是sb")
}
if a := 10; a == 10 { //if支持一个初始化语句,与条件语句分号隔开;
fmt.Println("a=", a)
}
if sb == "wangsicong" {
fmt.Println("王思聪是逗逼")
} else {
fmt.Println("王思聪是傻逼")
}
var b int = 11
if b == 10 {
fmt.Println("王思聪是蠢子")
} else if b < 10 {
fmt.Println("王思聪是逗比")
} else {
fmt.Println("王思聪是傻逼")
}
}
switch的使用
func main() {
var a int
fmt.Print("请按下楼层:")
fmt.Scan(&a)
switch a { //用a的值与所有的case作比较,与if一样也可以带一个初始化语句;
case 1:
fmt.Println("按下的是1楼")
fallthrough //不跳出,无条件执行下一层;
case 2:
fmt.Println("按下的是2楼")
fallthrough
case 3:
fmt.Println("按下的是3楼")
case 4:
fmt.Println("按下的是4楼")
default:
fmt.Println("按下的是xxx楼")
}
//swich的第二种应用场景;
var b int
fmt.Scan(&b)
switch {
case b > 90:
fmt.Println("优秀")
case b > 80:
fmt.Println("中等")
case b > 60:
fmt.Println("及格")
default:
fmt.Println("不及格")
}
}
for的使用
func main() {
sum := 0
for i := 0; i <= 100; i++ { //记住使用分号隔开;
sum = sum + i
}
fmt.Println("sum=", sum) //从0加到100;
str := "shalom"
for i := 0; i < len(str); i++ {
fmt.Printf("str[%d] = %c\n", i, str[i])
}
}
一秒打印一个数
func main() {
i := 0
for {
i++
time.Sleep(time.Second)
if i == 5 {
continue//是跳过继续的意思
//break//是跳出循环的意思
}
fmt.Println(i)
}
}
网友评论