go语言

Go语言基础

数据类型

package main
import (
	"fmt"
	)
	func main(){
	var n=100
	//查看类型  v 时万能的
	fmt.Printf("%T\n",n)//打印类型 T
	fmt.Printf("%v\n",n)//通用打印值 v默认格式
	fmt.Printf("%b\n",n)//2进制
	fmt.Printf("%d\n",n)//10进制
	fmt.Printf("%o\n",n)//8进制
	fmt.Printf("%x\n",n)//16进制
	var s="hello 恒哥哥"
	fmt.Printf("%s\n",s)//打印字符串 s
	fmt.Printf("%v\n",s)//通用打印值 v默认格式
}

注意

//go语言内部实现编码UTF-8,字符串必须是""(双引号),字符必须是’’(单引号). //字节:1字节=8Bit(8个二进制位)
//一个字符‘A’=1个字节 //1个utf8编码汉子“杀”=一般3个字节

字符操作

package main
import (
	"fmt"
	"strings"
	)
func main(){
	s := "i'm ok\n"//自动定义s类型
	fmt.Printf(s)
	//多行的字符串  原样输出
	s2 :=`是轻薄
			人情恶
			\\\\
			鱼松黄昏恋
		`
	fmt.Printf(s2)
//----------------------------------------------------------------------
	//字符串拼接
	name :="理想"
	world :="dsb"
	ss :=name+world
	fmt.Printf(ss)
	ss1 :=fmt.Sprintf("%s%s\n",name,world)//拼接不打印,可赋值
	fmt.Println(ss1)
	s2 :="asfdiiasfdaiiafdii"
	//字符切割
	ret :=strings.Split(s2, "ii")
	fmt.Println(ret)
	//字符包含
	fmt.Println(strings.Contains(s2,"理想"))
	fmt.Println(strings.Contains(s2,"asf"))
	//前缀后缀判断
	fmt.Println(strings.HasPrefix(s2,"asf"))//前缀判断
	fmt.Println(strings.HasPrefix(s2,"dii"))
	fmt.Println(strings.HasSuffix(s2,"dii"))//后缀判断
	//判断子串出现的位置
	s3 :="fda"
	fmt.Println(strings.Index(s2,s3))
	//拼接
	fmt.Println(strings.Join(ret,s3))
	//ret中被切割的空格处放入s3
}

判断使用

package main
import (
	"fmt"
//	"strings"
	)
func main(){
	if age :=18;age > 18{//age是局部变量(作用域在if中)
		fmt.Println("你成年了")
	}else if age < 18{
		fmt.Println("你未成年")
	}else{
		fmt.Println("你18了")
	}
}

for循环

// go中只有for循环,没有其他的循环
package main
import (
	"fmt"
//	"strings"
	)
func main(){
	//基本格式
/*
	for i :=0;i<10;i++{
		fmt.Println(i)
	}
*/
	//变种1
/*
	var i =5
	for ;i<10;i++{
		fmt.Println(i)
	}
*/
	//变种2
	/*
	for i :=0;i<10;{
		fmt.Println(i)
		i++
	}
	*/
//-------------------------------
	//for range循环
	s := "hello恒哥哥"
	for i,v := range s {
		fmt.Printf("%d %c\n",i,v)
	}
}

语句控制

Break,Continue,Switch语句控制

go中只有for循环,没有其他的循环
swith–》简化大量判断
一个变量哈一个具体的值作比较

package main
import (
	"fmt"
//	"strings"
	)
func main(){
	//当i=5跳出for循环
/*
		if i==5{
			break
		}
		fmt.Println(i)
	}
	fmt.Println("over")

	//当i=5继续下一次循环
	for i:=0;i<10;i++{
		if i==5{
			continue
		}
		fmt.Println(i)
	}
	fmt.Println("over")
*/
	var n int
	n=3
	switch n{
	case 1:
		fmt.Println("大拇指")
	case 2:
		fmt.Println("小拇指")
	case 3,4,5:
		fmt.Println("多个拇指")
	default:
		fmt.Println("按无效参数")
	}

}

Goto和标签的使用

package main
import("fmt")
func main(){
	var i int
	for i=0;i<10;i++{
		if i==5{
			goto xx//直接可以跳出多层循环,break只能跳出当前循环,也可用bool的值控制
		}
		fmt.Printf("%d\n",i)
	}
xx: //lable标签
	fmt.Println("over")
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值