周威学Go从入门到放弃第八篇(分组导包,分组定义,iota关键字,类型转换,string截取)

代码里有详细的注释 

package main

/* 这个点操作的含义就是这个包导入之后在你调用这个包的函数时,你可以省略前缀的包名,
也就是前面你调用的fmt.Println("hello world")可以省略的写成Println("hello world")

 import(
     f "fmt"
 )

别名操作的话调用包函数时前缀变成了我们的前缀,即f.Println("hello world")

_操作其实是引入该包,而不直接使用包里面的函数,而是调用了该包里面的init函数。

*/
//分组导入
import (
	. "fmt"
	"os"
)

func init() {
	Println("首先调用init初始化函数。。。")
}
func init() {
	Println("init函数可以有多个。。。")
}

//分组定义,增加可读性
const (
	f int = iota
	g int = iota
	h
	i       string = "i" // 它默认开始值是0,const中每增加一行加1
	j       int    = iota
	l, m, n        = iota, iota, iota //l,m,n iota在同一行值相同
)
const k = iota // 每遇到一个const关键字,iota就会重置,此时k == 0

//默认为false 0 0
var (
	isGo       bool
	isGoInt    int
	isGoFloat  float32
	isGoString string
)

func main() {
	_, d := 34, 35 //_(下划线)是个特殊的变量名,任何赋予它的值都会被丢弃。在这个例子中,我们将值35赋予b,并同时丢弃34:
	var a, b, c int = 1, 2, 3

	Println("Hello, World!", a, b, c, d, f, g, h, i, j, k, l, m, n, isGo, isGoInt, isGoFloat, isGoString)
	stringLearn()
	Println(os.Hostname())
}

func stringLearn() {
	s1 := "hello"
	Println(s1[3:])  //从3截取到结尾,结果:lo
	Println(s1[1:3]) //从1截取到3,结果:el
	c1 := []byte(s1) //类型转换
	Println(c1)
	s2 := `Hello    
	world` //原样打印 类似于pre 标签
	Println(s2)
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值