zoukankan      html  css  js  c++  java
  • go初识

    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 布尔变量:truefalse
    %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)
    }

    两个主要区别: 形参和实参

    形参是指针类型,实参需要传变量地址

  • 相关阅读:
    JSON初试
    for ...in 、for each ...in、 for...of(https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/for...of)
    WPF MVVM 模式下的弹窗
    『简易日志』NuGet 日志包 SimpleLogger
    WPF 让一组 Button 实现 RadioButton 的当前样式效果
    IIS 错误解决:当前标识没有对 Temporary ASP.NET Files 的写访问权限
    [读书笔记] 《大话设计模式》
    WPF 原生绑定和命令功能使用指南
    ASP.NET Core MVC 网站学习笔记
    在香蕉派的树莓派系统上配置 Syncthing 自启动
  • 原文地址:https://www.cnblogs.com/zhzhlong/p/9344765.html
Copyright © 2011-2022 走看看