go语言箭头函数 go语言冒号

箭头函数及两种轮播方式

script

成都创新互联专注于企业网络营销推广、网站重做改版、商水网站定制设计、自适应品牌网站建设、H5页面制作商城开发、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为商水等各大城市提供网站开发制作服务。

    /* 普通函数 */

    /* function fn(){

        return 123

    }

    let a = fn();

    console.log(a); */

  /* function fn(str){

    let msg = str + 'hello'

    return msg

    }

    let a = fn('张三丰') */

  /* =箭头函数后面只有一段表达式代表 return 返回 */

    /* let fn = () = 123;

    let a = fn();

    console.log(a); */

  /* 箭头函数只有一个参数()可以省略不写 */

    /* 普通函数可以作为构造函数,箭头函数不能作为构造函数不然会报错 */

    let fn = (str) ={

        let msg = str +'hello'

        return msg

    }

    let a = fn('张无忌')

    console.log(a);

    /* 普通函数this谁调用就是谁的,箭头函数没有自己的this,箭头函数的this是上下文环境的this */

    /* let obj1 = {

        name:"张三",

        fn:function(){

            console.log(this)

        }

     }

    let obj2 = {

        name:"李四",

   } */

     /* 普通函数的this可以被call 或apply修改 */

     /* obj1.fn.call(obj2) */

     /* 一个参数都没有箭头不能省略 */

     let obj1 = {

        name:"张三",

        fn:()={

            /* 目前的环境下的this是window */

            console.log(this);

            }

     }

    let obj2 = {

        name:"李四",

   }

     obj1.fn()/* this指向window 当前上下文环境

     箭头函数的this不会被call 或者apply 修改 */

     obj1.fn.call(obj2)

/script

style

    #lunbo{

        width: 600px;

        height: 400px;

        margin:30px auto;

    }

/style

/head

body

h1首页/h1

div id="lunbo"

    div id="carousel-example-generic" class="carousel slide" data-ride="carousel"

        !-- Indicators 指示器 --

        ol class="carousel-indicators"

            !-- li data-target="#carousel-example-generic" data-slide-to="0" class="active"/li

            li data-target="#carousel-example-generic" data-slide-to="1"/li

            li data-target="#carousel-example-generic" data-slide-to="2"/li --

        /ol

      !-- 主体的图片 --

        div class="carousel-inner" role="listbox"

            !-- div class="item active"

                img style="width: 600px;height: 400px;" src=";fm=253fmt=autoapp=138f=JPG?w=936h=500" alt="..."

                div class="carousel-caption"我的小拼/div

            /div

            div class="item"

                img style="width: 600px;height: 400px;" src=";fm=253fmt=autoapp=138f=JPEG?w=889h=500" alt="..."

                div class="carousel-caption"我的小多/div

            /div

            div class="item"

                img style="width: 600px;height: 400px;" src=";fm=253fmt=autoapp=138f=JPEG?w=580h=326" alt="..."

                div class="carousel-caption"我的小多多/div

            /div --

        /div

      !-- Controls 向左 向右控制图片--

        a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev"

            span class="glyphicon glyphicon-chevron-left" aria-hidden="true"/span

            span class="sr-only"Previous/span

        /a

        a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next"

            span class="glyphicon glyphicon-chevron-right" aria-hidden="true"/span

            span class="sr-only"Next/span

        /a

    /div

/div

div style="text-align: center;"

    button onclick="prevFn()"向前/button

    button onclick="nextFn()"向后/button

    button onclick="pauseFn()"暂停/button

    button onclick="goDuo()"跳转19岁女大学生失联/button

    button onclick="leftR()"从左到右/button

/div

script src="./jquery-1.12.4.js"/script

script src="./bootstrap.min.js"/script

script

    $('.carousel').carousel({

        interval: 2000

    })

    function prevFn(){

        $('.carousel').carousel('prev')

    }

    function nextFn(){

        $('.carousel').carousel('next')

    }

    function pauseFn(){

        $('.carousel').carousel('pause')

    }

    function goDuo(){

        $('.carousel').carousel(1)

    }

    function leftR(){

        $('.carousel').carousel('cycle')

    }

    $.ajax({

        url:"https:调用接口//也可以直接在原文复添加图片地址",

        method:"post",

        data:{

            page:1,

            count:5

        },

        success:res={

            let { result } = res

            let str1 = '';

            let str2 = '';

            result.forEach((item,index)={

                    str1 +=`

                    li data-target="#carousel-example-generic" data-slide-to="${index}"/li

                  `

                    str2 += `

                    div class="item "

                        a href="${item.path}"

                img style="width: 600px;height: 400px;" src="${item.image}"

                div class="carousel-caption"${item.title}/div

            /div

                  `

                })

                $('.carousel-indicators').html(str1)

                $('.carousel-inner').html(str2)

                $('.carousel-inner .item:first').addClass('active')

        }

    })

/script

link rel="stylesheet" href="./swiper-bundle.min.css"

style

    .swiper {

        width: 600px;

        height: 300px;

    }

    .swiper-slide img {

        width: 600px;

        height: 300px;

        display: block;

    }

/style

/head

body

div class="swiper"

    div class="swiper-wrapper"

        div class="swiper-slide"

            img src=";fm=253fmt=autoapp=138f=JPG?w=889h=500" alt=""

        /div

        div class="swiper-slide"

            img src=";fm=253fmt=autoapp=138f=JPEG?w=889h=500" alt=""

        /div

        div class="swiper-slide"

            img src=";fm=253fmt=autoapp=138f=JPEG?w=500h=281" alt=""

        /div

    /div

    !-- 如果需要分页器 --

    div class="swiper-pagination"/div

    !-- 如果需要导航按钮 --

    div class="swiper-button-prev"/div

    div class="swiper-button-next"/div

    !-- 如果需要滚动条 --

    !-- div class="swiper-scrollbar"/div --

/div

script src="./swiper-bundle.min.js"/script

script src="./jquery-1.12.4.js"/script

script

          /* Swiper('对应的类名') */

            var mySwiper = new Swiper('.swiper', {

                // direction: 'vertical', // 垂直切换选项

                loop: true, // 循环模式选项

                // 如果需要分页器

                pagination: {

                    el: '.swiper-pagination',

                },

                /* 切换反转效果 */

                effect: 'cube',

                /* 自动播放效果 */

                autoplay: {

                    delay: 1000, //1秒切换一次

                },

                // 如果需要前进后退按钮

                navigation: {

                    nextEl: '.swiper-button-next',

                    prevEl: '.swiper-button-prev',

                },

                // 如果需要滚动条

                // scrollbar: {

                //     el: '.swiper-scrollbar',

                // },

            })

/script

/body

GO语言学习系列八——GO函数(func)的声明与使用

GO是编译性语言,所以函数的顺序是无关紧要的,为了方便阅读,建议入口函数 main 写在最前面,其余函数按照功能需要进行排列

GO的函数 不支持嵌套,重载和默认参数

GO的函数 支持 无需声明变量,可变长度,多返回值,匿名,闭包等

GO的函数用 func 来声明,且左大括号 { 不能另起一行

一个简单的示例:

输出为:

参数:可以传0个或多个值来供自己用

返回:通过用 return 来进行返回

输出为:

上面就是一个典型的多参数传递与多返回值

对例子的说明:

按值传递:是对某个变量进行复制,不能更改原变量的值

引用传递:相当于按指针传递,可以同时改变原来的值,并且消耗的内存会更少,只有4或8个字节的消耗

在上例中,返回值 (d int, e int, f int) { 是进行了命名,如果不想命名可以写成 (int,int,int){ ,返回的结果都是一样的,但要注意:

当返回了多个值,我们某些变量不想要,或实际用不到,我们可以使用 _ 来补位,例如上例的返回我们可以写成 d,_,f := test(a,b,c) ,我们不想要中间的返回值,可以以这种形式来舍弃掉

在参数后面以 变量 ... type 这种形式的,我们就要以判断出这是一个可变长度的参数

输出为:

在上例中, strs ...string 中, strs 的实际值是b,c,d,e,这就是一个最简单的传递可变长度的参数的例子,更多一些演变的形式,都非常类似

在GO中 defer 关键字非常重要,相当于面相对像中的析构函数,也就是在某个函数执行完成后,GO会自动这个;

如果在多层循环中函数里,都定义了 defer ,那么它的执行顺序是先进后出;

当某个函数出现严重错误时, defer 也会被调用

输出为

这是一个最简单的测试了,当然还有更复杂的调用,比如调试程序时,判断是哪个函数出了问题,完全可以根据 defer 打印出来的内容来进行判断,非常快速,这种留给你们去实现

一个函数在函数体内自己调用自己我们称之为递归函数,在做递归调用时,经常会将内存给占满,这是非常要注意的,常用的比如,快速排序就是用的递归调用

本篇重点介绍了GO函数(func)的声明与使用,下一篇将介绍GO的结构 struct

go语言从入门到精通第四天函数

当我们将一种功能用于多个地方的时候,就需要封装这些功能,以便于多次使用,然而封装就需要使用函数来进行封装,因此本章我们就来说说函数的使用方法。我们先来看看涉及到函数的一些用法目录。如下:

无参函数

有参函数

带返回值的函数

带多个返回值的函数

匿名函数

闭包

自调用

递归

本章内容还是比较丰富的,请耐心往下看。

go语言--Goroutines

1、goroutine:在go语言中,每一个并发的执行单元叫做goroutine,如果一个程序中包含多个goroutine,对两个函数的调用则可能发生在同一时刻

2、main goroutine:当一个程序启动时,其主函数即在一个单独的goroutine中运行,我们叫他为main gorountine

3、go goroutine:新的goroutine会用go语句来创建,go+函数名,go语句会使其语句中的函数在一新创建的goroutine中运行,而go语句本身会迅速地完成

4、goroutine的退出:主函数返回时,所有的goroutine都会被直接打断,程序退出,除了从主函数退出或者终止程序之外,没有其他方法能够让一个goroutine来打断另一个的执行,但是可以通过另一种方式来实现这个目的,通过goroutine之间的通信来让一个goroutine请求其他的goroutine,并让请求的goroutine自行结束执行


分享文章:go语言箭头函数 go语言冒号
转载来源:http://ybzwz.com/article/ddohdsg.html