for循环
for i := 1; i < 5; i++ {
fmt.Println(i*i)
}
ls := "agd"
for _, arg := range ls{
fmt.Println(string(arg))
}
格式化输出
%d int 变量 %x, %o, %b 分别为 16 进制,8 进制,2 进制形式的 int %f, %g, %e 浮点数: 3.141593 3.141592653589793 3.141593e+00 %t 布尔变量:true 或 false %c rune (Unicode 码点),Go 语言里特有的 Unicode 字符类型 %s string %q 带双引号的字符串 "abc" 或 带单引号的 rune 'c' %v 会将任意变量以易读的形式打印出来 %T 打印变量的类型 %% 字符型百分比标志(%符号本身,没有其他操作)
运算符优先级
有些运算符拥有较高的优先级,二元运算符的运算方向均是从左至右。下表列出了所有运算符以及它们的优先级,由上至下代表优先级由高到低:
| 优先级 | 运算符 |
|---|---|
| 7 | ^ ! |
| 6 | * / % << >> & &^ |
| 5 | + - | ^ |
| 4 | == != < <= >= > |
| 3 | <- |
| 2 | && |
| 1 | || |
指针引用
func main() {
var a int = 10
var b *int
b = &a
fmt.Println(b, *b)
}
package main
import (
"fmt"
)
type Books struct {
title string
author string
subject string
book_id int
}
func main() {
// 创建一个新的结构体
fmt.Println(Books{"go语言", "zhou", "go教程", 01})
// 也可以使用 key=>value 格式
fmt.Println(Books{title: "go11", author: "zhou11", subject: "gojiaocheng", book_id: 02})
// 忽略的字段为 0 或 空
fmt.Println(Books{title:"go22", author:"zhou22"})
}
//{go语言 zhou go教程 1}
//{go11 zhou11 gojiaocheng 2}
//{go22 zhou22 0}
==
package main
import "fmt"
type Books struct {
title string
author string
subject string
book_id int
}
func main() {
var Book1 Books // 声明Book1 为 Books 类型
// Book1 的描述
Book1.title = "go"
Book1.author = "zhou"
Book1.subject = "go教程"
Book1.book_id = 01
fmt.Println(Book1.title, Book1.author, Book1.subject, Book1.book_id)
}
// go zhou go教程 1
结构体作为函数参数
你可以像其他数据类型一样将结构体类型作为参数传递给函数。并以以上实例的方式访问结构体变量:
package main
import "fmt"
type Books struct {
title string
author string
subject string
book_id int
}
func main() {
var Book1 Books // 声明book1 为 Books 类型
// book1 的描述
Book1.title = "go"
Book1.author = "zhou"
Book1.subject = "go教程"
Book1.book_id = 01
printBook(Book1)
}
func printBook(book Books) {
fmt.Println(book.title)
fmt.Println(book.author)
fmt.Println(book.subject)
fmt.Println(book.book_id)
}
结构体指针
你可以定义指向结构体的指针类似于其他指针变量,格式如下:
package main
import "fmt"
type Books struct {
title string
author string
subject string
book_id int
}
func main() {
var Book1 Books // 声明book1 为 Books 类型
// book1 的描述
Book1.title = "go"
Book1.author = "zhou"
Book1.subject = "go教程"
Book1.book_id = 01
printBook(&Book1)
}
func printBook(book *Books) {
fmt.Println(book.title)
fmt.Println(book.author)
fmt.Println(book.subject)
fmt.Println(book.book_id)
}
两个主要区别: 形参和实参
形参是指针类型,实参需要传变量地址
来源:https://www.cnblogs.com/zhzhlong/p/9344765.html