דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. תגובות: מדריך GO

תגובות: מדריך GO

מתוזמן נעוץ נעול הועבר תכנות
9 פוסטים 4 כותבים 129 צפיות 1 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • nigunN מנותק
    nigunN מנותק
    nigun
    כתב ב נערך לאחרונה על ידי
    #1

    כדי לעשות קצת סדר אני ינסה לענות כל השאלות כאן
    @אהרן
    אם הבנתי נכון אתה רוצה שיהיה אפשרות לנהל את הפונקציה גם אחרי שקראתי לה בקריאה אסינכרונית
    למשל שלא ידפיס את התוצאה עד שיקרה פעולה מסויימת?
    @WWW
    אני משער שהתכוונת שצריך מעבר שורה ולא משתמשים ב ;
    אני גם בהתחלה לא הבנתי למה הם הורידו את זה
    אבל הם טוענים שהם הגיעו למסקנה שזה לא עוזר לכלום
    וזה רק מציק כששוכחים לשים אותו, וזה לא עושה את הקוד יותר קריא
    למעשה אני לא מרגיש שזה חסר לי בכלל.

    מייל: nigun@duck.com

    nigunN תגובה 1 תגובה אחרונה
    2
    • nigunN nigun

      תכנות אסינכרוני בGO
      בGO ניתן לקרוא לפונקציה ולא לחכות עד היא תגמר על ידי נוספת המילה go לפני הפונקציה
      בא נקח קוד לדוגמא (אפשר לשחק עם זה גם כאן)

      package main
      
      import (
      	"fmt"
      	"time"
      )
      
      func sleepAndSay(s string) {
      		time.Sleep(100 * time.Millisecond)
      		fmt.Println(s)
      	}
      
      func main() {
      		go sleepAndSay("world")
      	
      		fmt.Println("hello")
      
      		time.Sleep(200 * time.Millisecond)
      
      }
      

      הפלט יהיה

      hello
      world
      

      כאן אנו יכולים לראות שייבאנו את החבילה TIME ושהכנסנו את כל החבילות המיובאות לתוך סוגריים
      זה פשוט בשביל הנוחות כשמייבאים חבילות מרובות.
      וכן יצרנו פונציה בשם sleepAndSay עם המשתנה s מסוג סטרינג
      בתוך הפונקציה אנו ממתינים 100 מילי שניות
      ואז מדפיסים את הערך שקיבלנו במשתנה s

      בפונקציה הראשית (main)
      אנו קוראים ל
      sleepAndSay("world")עם המילה go לפניו
      ומיד אחר כך מדפיסים את המילה hello
      ואחר כך מחכים עוד 200 מילישניות
      כדי שכל הפונקציות שקראנו אליהם באופן אסינכרוני יגמרו לפני שהפונקציה הראשית תגמר.

      אם לא קלטתם עדיין את העניין?
      אפשר לשחק עם הסדר של הפונקציות ולהוסיף ולהוריד go לפני הפונקציות.

      א מנותק
      א מנותק
      אהרן
      כתב ב נערך לאחרונה על ידי
      #2

      @nigun אפשר לאסוף את התוצאות האסינכרוניות ולהדפיס אותם לפי הסדר?

      nigunN תגובה 1 תגובה אחרונה
      0
      • nigunN nigun

        תכנות אסינכרוני בGO
        בGO ניתן לקרוא לפונקציה ולא לחכות עד היא תגמר על ידי נוספת המילה go לפני הפונקציה
        בא נקח קוד לדוגמא (אפשר לשחק עם זה גם כאן)

        package main
        
        import (
        	"fmt"
        	"time"
        )
        
        func sleepAndSay(s string) {
        		time.Sleep(100 * time.Millisecond)
        		fmt.Println(s)
        	}
        
        func main() {
        		go sleepAndSay("world")
        	
        		fmt.Println("hello")
        
        		time.Sleep(200 * time.Millisecond)
        
        }
        

        הפלט יהיה

        hello
        world
        

        כאן אנו יכולים לראות שייבאנו את החבילה TIME ושהכנסנו את כל החבילות המיובאות לתוך סוגריים
        זה פשוט בשביל הנוחות כשמייבאים חבילות מרובות.
        וכן יצרנו פונציה בשם sleepAndSay עם המשתנה s מסוג סטרינג
        בתוך הפונקציה אנו ממתינים 100 מילי שניות
        ואז מדפיסים את הערך שקיבלנו במשתנה s

        בפונקציה הראשית (main)
        אנו קוראים ל
        sleepAndSay("world")עם המילה go לפניו
        ומיד אחר כך מדפיסים את המילה hello
        ואחר כך מחכים עוד 200 מילישניות
        כדי שכל הפונקציות שקראנו אליהם באופן אסינכרוני יגמרו לפני שהפונקציה הראשית תגמר.

        אם לא קלטתם עדיין את העניין?
        אפשר לשחק עם הסדר של הפונקציות ולהוסיף ולהוריד go לפני הפונקציות.

        WWWW מנותק
        WWWW מנותק
        WWW
        כתב ב נערך לאחרונה על ידי WWW
        #3

        @nigun בינתיים, מצאתי כבר משהו שמעצבן אותי בשפה הזו, שסוף פיסקה זה סוף משפט, (ככה זה נראה עכ"פ), מזכיר לי את VB 😞
        ,

        WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

        י תגובה 1 תגובה אחרונה
        0
        • WWWW WWW

          @nigun בינתיים, מצאתי כבר משהו שמעצבן אותי בשפה הזו, שסוף פיסקה זה סוף משפט, (ככה זה נראה עכ"פ), מזכיר לי את VB 😞
          ,

          י מנותק
          י מנותק
          יוסף בן שמעון
          כתב ב נערך לאחרונה על ידי
          #4

          @WWW אמר במדריך: כתיבת אפליקציות בGO:

          סוף פיסקה זה מעבר עמוד

          למה אתה מתכוין?

          WWWW תגובה 1 תגובה אחרונה
          1
          • nigunN מנותק
            nigunN מנותק
            nigun
            כתב ב נערך לאחרונה על ידי
            #5

            @אהרן @WWW
            פעם הבאה נראה לי שעדיף לשאול שאלות בשרשור נפרד
            כי אחר כך אי אפשר לקרוא את המדריך

            מייל: nigun@duck.com

            תגובה 1 תגובה אחרונה
            0
            • nigunN nigun

              כדי לעשות קצת סדר אני ינסה לענות כל השאלות כאן
              @אהרן
              אם הבנתי נכון אתה רוצה שיהיה אפשרות לנהל את הפונקציה גם אחרי שקראתי לה בקריאה אסינכרונית
              למשל שלא ידפיס את התוצאה עד שיקרה פעולה מסויימת?
              @WWW
              אני משער שהתכוונת שצריך מעבר שורה ולא משתמשים ב ;
              אני גם בהתחלה לא הבנתי למה הם הורידו את זה
              אבל הם טוענים שהם הגיעו למסקנה שזה לא עוזר לכלום
              וזה רק מציק כששוכחים לשים אותו, וזה לא עושה את הקוד יותר קריא
              למעשה אני לא מרגיש שזה חסר לי בכלל.

              nigunN מנותק
              nigunN מנותק
              nigun
              כתב ב נערך לאחרונה על ידי
              #6

              @nigun אמר בתגובות: מדריך GO:

              כדי לעשות קצת סדר אני ינסה לענות כל השאלות כאן
              @אהרן
              אם הבנתי נכון אתה רוצה שיהיה אפשרות לנהל את הפונקציה גם אחרי שקראתי לה בקריאה אסינכרונית
              למשל שלא ידפיס את התוצאה עד שיקרה פעולה מסויימת?
              @WWW
              אני משער שהתכוונת שצריך מעבר שורה ולא משתמשים ב ;
              אני גם בהתחלה לא הבנתי למה הם הורידו את זה
              אבל הם טוענים שהם הגיעו למסקנה שזה לא עוזר לכלום
              וזה רק מציק כששוכחים לשים אותו, וזה לא עושה את הקוד יותר קריא
              למעשה אני לא מרגיש שזה חסר לי בכלל.

              מייל: nigun@duck.com

              תגובה 1 תגובה אחרונה
              0
              • א אהרן

                @nigun אפשר לאסוף את התוצאות האסינכרוניות ולהדפיס אותם לפי הסדר?

                nigunN מנותק
                nigunN מנותק
                nigun
                כתב ב נערך לאחרונה על ידי
                #7

                @אהרן
                אפשר לקרוא על ערוצים כאן
                אולי בהמשך נכתוב על זה מדריך מורחב

                מייל: nigun@duck.com

                תגובה 1 תגובה אחרונה
                0
                • י יוסף בן שמעון

                  @WWW אמר במדריך: כתיבת אפליקציות בGO:

                  סוף פיסקה זה מעבר עמוד

                  למה אתה מתכוין?

                  WWWW מנותק
                  WWWW מנותק
                  WWW
                  כתב ב נערך לאחרונה על ידי
                  #8

                  @יוסף-בן-שמעון אמר בתגובות: מדריך GO:

                  למה אתה מתכוין?

                  תוקן.

                  WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                  תגובה 1 תגובה אחרונה
                  0
                  • nigunN מנותק
                    nigunN מנותק
                    nigun
                    כתב ב נערך לאחרונה על ידי
                    #9

                    חשבתי להוסיף למדריך הסבר קצר על מצביעים
                    מנסה למצוא קוד שידגים את זה טוב
                    חשבתי על משהו כזה:

                    package main
                    
                    import "fmt"
                    
                    func main() {
                    	n := 0
                    
                    	pointer := &n
                    	
                    	fmt.Println(pointer)
                    
                    	go control(pointer)
                    	
                            for i := 1; i < 5; i++ {
                    	      fmt.Println(n)
                    	}
                    }
                    
                    func control(p *int){
                       for i := 1; i < 5; i++ {
                           *p++
                       }
                    }
                    
                    

                    https://play.golang.org/p/H7DZnD1iney
                    האם זה ברור או שיש דוגמאות שמבטאים את זה יותר טוב?
                    @יוסף-בן-שמעון @yossiz

                    מייל: nigun@duck.com

                    תגובה 1 תגובה אחרונה
                    1
                    תגובה
                    • תגובה כנושא
                    התחברו כדי לפרסם תגובה
                    • מהישן לחדש
                    • מהחדש לישן
                    • הכי הרבה הצבעות


                    בא תתחבר לדף היומי!
                    • התחברות

                    • אין לך חשבון עדיין? הרשמה

                    • התחברו או הירשמו כדי לחפש.
                    • פוסט ראשון
                      פוסט אחרון
                    0
                    • דף הבית
                    • קטגוריות
                    • פוסטים אחרונים
                    • משתמשים
                    • חיפוש
                    • חוקי הפורום