golang学习笔记

golang学习笔记

go官方学习内容是最好最权威的入门go语言的资料,为学习go语言指明一个正确的方向。

golang知识点

下面内容部分引用 A Tour of go 官方介绍文档

go打开本地文档方法:

本地文档浏览 web 服务器。在命令行输入 godoc -http=:6060,然后使用浏览器打开 http://localhost:6060 后,你就可以看到本地文档浏览服务器提供的页面。

fmt 打印占位符特殊作用

%q 带着双引号打印字符串

	var s string = "aaa"
	fmt.Printf("%q\n", s)    // "aaa"
	fmt.Printf("%s\n", s)    // aaa

%T 打印变量类型,不能用 %t

	v := 42
	fmt.Printf("v is of type %T\n", v)	// v is of type int

slice本质

切片就像数组的引用
切片并不存储任何数据,它只是描述了底层数组中的一段。
更改切片的元素会修改其底层数组中对应的元素。
与它共享底层数组的切片都会观测到这些修改。

strings包

strings.Join(s1 []string, sep string):用sep把s1中的所有元素链接起来

	ss := []string{"a", "b", "c"}
	fmt.Printf("%s\n", strings.Join(ss, "_")) 	// a_b_c

Stringer Interface

Stringer
fmt 包中定义的 Stringer 是最普遍的接口之一。

type Stringer interface {
    String() string
}

Stringer 是一个可以用字符串描述自己的类型。fmt 包(还有很多包)都通过此接口来打印值。

type Person struct {
	Name string
	Age  int
}
// 转换成string,用于描述Person结构体
func (p Person) String() string {
	return fmt.Sprintf("%v (%v years)", p.Name, p.Age)
}

func main() {
	a := Person{"Arthur Dent", 42}
	z := Person{"Zaphod Beeblebrox", 9001}
	fmt.Println(a, z)
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值